Reactive avatars

ABSTRACT

Avatars are used to graphically represent users in a communications session, and the avatars are capable of being animated. An indication of an animation of one of the avatars is received. Another avatar that represents another of the users is animated in response to, and based on, the animation of the avatar in the same communications session.

CROSS REFERENCE TO RELATED APPLICATIONS

[0001] This application claims the benefit of U.S. ProvisionalApplication No. 60/450,663, filed Mar. 3, 2003, and titled “ProvidingVideo, Sound, or Animated Content With Instant Messages,” and claims thebenefit of U.S. Provisional Application No. 60/512,852, filed Oct. 22,2003, and titled “Providing Video, Sound, or Animated Content WithInstant Messages,” both which are incorporated by reference.

TECHNICAL FIELD

[0002] This description relates to projecting a graphical representationof a communications application operator (hereinafter “sender”) incommunications sent in a network of computers.

BACKGROUND

[0003] Online services may provide users with the ability to send andreceive instant messages. Instant messages are private onlineconversations between two or more people who have access to an instantmessaging service, who have installed communications software necessaryto access and use the instant messaging service, and who each generallyhave access to information reflecting the online status of other users.

[0004] An instant message sender may send self-expression items to aninstant message recipient. Current implementations of instant messagingself-expression enable a user to individually select self-expressionsettings, such as a Buddy Icon and a Buddy Wallpaper, which settingsthereafter project to other users who see or interact with that persononline.

SUMMARY

[0005] In one general aspect, a first avatar is animated based onperceived animation of a second avatar. A first user is graphicallyrepresented with a first avatar capable of being animated, and a seconduser is graphically represented with a second avatar capable of beinganimated. Communication messages are being sent between the first userand the second user. An indication of an animation of the first avataris received, and, the second avatar is animated in response to, andbased on, the received indication of the animation.

[0006] Implementations may include one or more of the followingfeatures. For example, the indication of an animation received may beany type of animation of the first avatar or may be an indication of aparticular animation of multiple possible animations of the firstavatar. The first avatar may be subsequently animated in response to andbased on the animation of the second avatar.

[0007] The first avatar may be animated in response to a particularportion of a message sent between the first user and the second user.The message may be sent from the first user to the second user or may besent to the first user from the second user.

[0008] The first avatar is animated to send an out-of-band communicationfrom the first user to the second user. The out-of-band communicationmay include a communication indicating a personality characteristicassociated with the first user, an emotional state associated with thefirst user, an environmental condition associated with the first user,or an activity associated with the first user. An environmentalcondition may include an environmental condition related to the weatherof a geographic location near the first user. The out-of-bandcommunication also may include a setting characteristic associated withthe first user. A setting characteristic may be a characteristic relatedto time of day of the first user or a characteristic related to time ofyear. The characteristic related to the time of year may be related toholiday or a season in which the season is one of spring, summer, fallor winter. A setting characteristic also may be a characteristicassociated with a work setting, a recreation setting, a beach setting, atropical setting or a winter sport setting.

[0009] Implementations of the techniques discussed above may include amethod or process, a system or apparatus, or computer software on acomputer-accessible medium.

[0010] The details of one or more of the implementations are set forthin the accompanying drawings and description below. Other features willbe apparent from the description and drawings, and from the claims.

DESCRIPTION OF DRAWINGS

[0011]FIGS. 1, 2 and 5 are diagrams of user interfaces for an instantmessaging service capable of enabling a user to project an avatar forself-expression.

[0012]FIG. 3 is a flow chart of a process for animating an avatar basedon the content of an instant message.

[0013]FIG. 4 is a block diagram illustrating exemplary animations of anavatar and textual triggers for each animation.

[0014]FIG. 6 is a diagram illustrating an exemplary process involvingcommunications between two instant messaging client systems and aninstant message host system, whereby an avatar of a user of one of theinstant message client systems is animated based on the animation of anavatar of a user of the other of the instant message client systems.

[0015]FIG. 7 is a flow chart of a process for selecting and optionallycustomizing an avatar.

[0016]FIG. 8 is a block diagram depicting examples of avatars capable ofbeing projected by a user for self-expression.

[0017]FIG. 9 is a diagram of a user interface for customizing theappearance of an avatar.

[0018]FIG. 10 is a diagram of a user interface used to present asnapshot description of an avatar.

[0019]FIG. 11A is a block diagram illustrating relationships betweenonline personas, avatars, avatar behaviors and avatar appearances.

[0020]FIG. 11B is a flow chart of a process for using a different onlinepersonality to communicate with each of two instant message recipients.

[0021]FIG. 12 is a diagram of a user interface that enables an instantmessage sender to select among available online personas.

[0022]FIG. 13 is a diagram of exemplary user interfaces for enabling aninstant message sender to create and store an online persona thatincludes an avatar for self-expression.

[0023]FIG. 14 is a flow chart of a process for enabling a user to changean online persona that includes an avatar for self-expression.

[0024]FIG. 15 is a flow chart of a process for using an avatar tocommunicate an out-of-band message to an instant message recipient.

[0025]FIGS. 16, 17 and 18 are diagrams of exemplary communicationssystems capable of enabling an instant message user to project an avatarfor self-expression.

DETAILED DESCRIPTION

[0026] An avatar that represents a user in a communications session isanimated, without user manipulation, based on the animation of anotheravatar that represents another user in the same communications session.This may be referred to as an automatic response of an avatar to thebehavior of another avatar.

[0027]FIG. 1 illustrates an exemplary graphical user interface 100 foran instant messaging service capable of enabling a user to project anavatar for self-expression. The user interface 100 may be viewed by auser who is an instant message sender and whose instant messagingcommunications program is configured to project an avatar associatedwith and used as an identifier for the user to one or more other usersor user groups (collectively, instant message recipients). Inparticular, the user IMSender is an instant message sender using theuser interface 100. The instant message sender projects a sender avatar135 in an instant messaging communications session with an instantmessage recipient SuperBuddyFan1, who projects a recipient avatar 115. Acorresponding graphical user interface (not shown) is used by theinstant message recipient SuperBuddyFan1. In this manner, the senderavatar 135 is visible in each of the sender's user interface and therecipient's user interface, as is the recipient avatar 115. The instantmessaging communications session may be conducted simultaneously,near-simultaneously, or serially.

[0028] The user interface (UI) 100 includes an instant message userinterface 105 and an instant messaging buddy list window 170.

[0029] The instant message user interface 105 has an instant messagerecipient portion 110 and an instant message sender portion 130. Theinstant message recipient portion 110 displays the recipient avatar 115chosen by the instant message recipient with whom the instant messagesender is having an instant message conversation. Similarly, the instantmessage sender portion 130 displays the sender avatar 135 chosen by theinstant message sender. The display of the sender avatar 135 in theinstant message user interface 105 enables the instant message sender toperceive the avatar being projected to the particular instant messagerecipient with whom the instant message sender is communicating. Theavatars 135 and 115 are personalization items selectable by an instantmessage user for self-expression.

[0030] The instant message user interface 105 includes an instantmessage composition area 145 for composing instant message messages tobe sent to the instant message recipient and for message history textbox 125 for displaying a transcript of the instant messagecommunications session with the instant message recipient. Each of themessages sent to, or received from, the instant message recipient arelisted in chronological order in the message history text box 125, eachwith an indication of the user that sent the message as shown at 126.The message history text box 125 optionally may include a time stamp 127for each of the messages sent.

[0031] Wallpaper may be applied to portions of the graphical userinterface 100. For example, wallpaper may be applied to window portion120 that is outside of the message history box 125 or window portion 140that is outside of the message composition area 145. The recipientavatar 115 is displayed over, or in place of, the wallpaper applied tothe window portion 120, and the wallpaper applied to the window portion120 corresponds to the recipient avatar 115. Likewise, the sender avatar135 is displayed over, or in place of, the wallpaper applied to thewindow portion 140 and the wallpaper applied to the window portion 120corresponds to the sender avatar 135. In some implementations, a box orother type of boundary may be displayed around the avatar, as shown byboundary 157 displayed around the sender avatar 135. A differentwallpaper may be applied to window portion 158 inside the boundary 157than the wallpaper applied to the window portion 140 outside of themessage composition area 145 but not within the boundary 157. Thewallpaper may appear to be non-uniform and may include objects that areanimated. The wallpapers applied to the window portions 120 and 140 maybe personalization items selectable by an instant message user forself-expression.

[0032] The instant message user interface 105 also includes a set offeature controls 165 and a set of transmission controls 150. The featurecontrols 165 may control features such as encryption, conversationlogging, conversation forwarding to a different communications mode,font size and color control, and spell checking, among others. The setof transmission controls 150 includes a control 160 to trigger sendingof the message that was typed into the instant message composition area145, and a control 155 for modifying the appearance or behavior of thesender avatar 135.

[0033] The instant message buddy list window 170 includes an instantmessage sender-selected list 175 of potential instant messagingrecipients (“buddies”) 180 a-180 g. Buddies typically are contacts whoare known to the potential instant message sender (here, IMSender). Inthe list 175, the representations 180 a-180 g include text identifyingthe screen names of the buddies included in list 175; however,additional or alternative information may be used to represent one ormore of the buddies, such as an avatar associated with the buddy, thatis reduced in size and either still or animated. For example, therepresentation 180 a includes the screen name and avatar of the instantmessage recipient named SuperBuddyFan1. The representations 180 a-180 gmay provide connectivity information to the instant message sender aboutthe buddy, such as whether the buddy is online, how long the buddy hasbeen online, whether the buddy is away, or whether the buddy is using amobile device.

[0034] Buddies may be grouped by an instant message sender into one ormore user-defined or pre-selected groupings (“groups”). As shown, theinstant message buddy list window 170 has three groups, Buddies 182,Co-Workers 184, and Family 186. SuperBuddyFan1 185 a belongs to theBuddies group 182, and ChattingChuck 185 c belongs to the Co-Workersgroup 184. When a buddy's instant message client program is able toreceive communications, the representation of the buddy in the buddylist is displayed under the name or representation of the buddy group towhich the buddy belongs. As shown, at least potential instant messagingrecipients 180 a-180 g are online. In contrast, when a buddy's instantmessage client program is not able to receive communications, therepresentation of the buddy in the buddy list may not be displayed underthe group with which it is associated, but it may instead be displayedwith representations of buddies from other groups under the headingOffline 188. All buddies included in the list 175 are displayed eitherunder one of the groups 182, 184, or 186, or under the heading Offline188.

[0035] As illustrated in FIG. 1, each of the sender avatar 135 and therecipient avatar 115 is a graphical image that represents a user in aninstant message communications session. The sender projects the senderavatar 135 for self-expression, whereas the recipient projects therecipient avatar 115 also for self-expression. Here, each of theanimation avatars 135 or 115 is an avatar that only includes a graphicalimage of a face, which may be referred to as a facial avatar or a headavatar. In other implementations, an avatar may include additional bodycomponents. By way of example, a Thanksgiving turkey avatar may includean image of a whole turkey, including a head, a neck, a body andfeathers.

[0036] The sender avatar 135 may be animated in response to an instantmessage sent to the instant message recipient, and the recipient avatar115 may be animated in response to an instant message sent by theinstant message recipient. For example, the text of an instant messagesent by the sender may trigger an animation of the sender avatar 135,and the text of an instant messages sent by the instant messagerecipient to the sender may trigger an animation of the recipient avatar115.

[0037] More particularly, the text of a message to be sent is specifiedby the sender in the message specification text box 145. The textentered in the message specification text box 145 is sent to therecipient when the sender activates the send button 160. When the sendbutton 160 is activated, the instant message application searches thetext of the message for animation triggers. When an animation trigger isidentified, the sender avatar 135 is animated with an animation that isassociated with the identified trigger. This process is described morefully later. In a similar manner, the text of a message sent by theinstant message recipient and received by the sender is searched foranimation triggers and, when found, the recipient avatar 115 is animatedwith an animation associated with the identified trigger. By way ofexample, the text of a message may include a character string “LOL,”which is an acronym that stands for “laughing out loud.” The characterstring “LOL” may trigger an animation in the sender avatar 135 or therecipient avatar 115 such that the sender avatar 135 or the recipientavatar 115 appears to be laughing.

[0038] Alternatively or additionally, the sender avatar 135 may beanimated in response to an instant message sent from the instant messagerecipient, and the recipient avatar 115 may be animated in response to amessage sent from the instant message sender. For example, the text ofan instant message sent by the sender may trigger an animation of therecipient avatar 115, and the text of an instant messages sent by theinstant message recipient to the sender may trigger an animation of thesender avatar 135.

[0039] More particularly, the text of a message to be sent is specifiedby the sender in the message specification text box 145. The textentered in the message specification text box 145 is sent to therecipient when the sender activates the send button 160. When the sendbutton 160 is activated, the instant message application searches thetext of the message for animation triggers. When an animation trigger isidentified, the recipient avatar 115 is animated with an animation thatis associated with the identified trigger. In a similar manner, the textof a message sent by the instant message recipient and received by thesender is searched for animation triggers and, when found, the senderavatar 135 is animated with an animation associated with the identifiedtrigger.

[0040] In addition, the sender avatar 135 or the recipient avatar 115may be animated in direct response to a request from the sender or therecipient. Direct animation of the sender avatar 135 or the recipientavatar 115 enables use of the avatars as a means for communicatinginformation between the sender and the recipient without an accompanyinginstant message. For example, the sender may perform an action thatdirectly causes the sender avatar 135 to be animated, or the recipientmay perform an action that directly causes the recipient avatar 115 tobe animated. The action may include pressing a button corresponding tothe animation to be played or selecting the animation to be played froma list of animations. For example, the sender may be presented with abutton that inspires an animation in the sender avatar 135 and that isdistinct from the send button 160. Selecting the button may cause ananimation of the sender avatar 135 to be played without performing anyother actions, such as sending an instant message specified in themessage composition area 145. The played animation may be chosen atrandom from the possible animations of the sender avatar 135, or theplayed animation may be chosen before the button is selected.

[0041] An animation in one of the avatars 135 or 115 displayed on theinstant messaging user interface 105 may cause an animation in the otheravatar. For example, an animation of the recipient avatar 115 maytrigger an animation in the sender avatar 135, and vice versa. By way ofexample, the sender avatar 135 may be animated to appear to be crying.In response to the animation of the sender avatar 135, the recipientavatar 115 also may be animated to appear to be crying. Alternatively,the recipient avatar 115 may be animated to appear comforting orsympathetic in response to the crying animation of the sender avatar135. In another example, a sender avatar 135 may be animated to show akiss and, in response, a recipient avatar 115 may be animated to blush.

[0042] The recipient avatar 115 may appear to respond to a mood of thesender communicated by the sender avatar 135. By way of example, inresponse to a frowning or teary animation of the sender avatar 135, therecipient avatar 115 also may appear sad. Alternatively, the recipientavatar 115 may be animated to try to cheer up the sender avatar 135,such as by smiling, exhibiting a comical expression, such as stickingits tongue out, or exhibiting a sympathetic expression.

[0043] An avatar 135 or 115 may be animated in response to a detectedidle period of a predetermined duration. For example, after a period ofsender inactivity, the sender avatar 135 may be animated to give theappearance that the avatar is sleeping, falling off of the instantmessaging interface 105, or some other activity indicative ofinactivity. An avatar 135 or 115 also may progress through a series ofanimations during a period of sender inactivity. The series ofanimations may repeat continuously or play only once in response to thedetection of an idle period. In one example, the sender avatar 135 maybe animated to give the appearance that the avatar is sleeping and thenhaving the avatar appear to fall off the instant messaging userinterface 105 after a period of sleeping. Animating an avatar 135 or 115through a progression of multiple animations representative of a periodof sender inactivity may provide entertainment to the sender. This maylead to increased usage of the instant messaging user interface 105 bythe sender, which in turn, may lead to an increased market share for theinstant message service provider.

[0044] The sender avatar 135 or the recipient avatar 115 may be animatedto reflect the weather at the geographic locations of the sender and therecipient, respectively. For example, if rain is falling at thegeographic location of the sender, then the sender avatar 135 may beanimated to put on a rain coat or open an umbrella. The wallpapercorresponding to the sender avatar 135 also may include rain dropsanimated to appear to be failing on the sender avatar 135. The animationof the sender avatar 135 or the recipient avatar 115 played in responseto the weather may be triggered by weather information received on thesender's computer or the recipient's computer, respectively. Forexample, the weather information may be pushed to the sender's computerby a host system of an instant messaging system being used. If thepushed weather information indicates that it is raining, then ananimation of the sender avatar 135 corresponding to rainy weather isplayed.

[0045] Furthermore, the avatar may be used to audibly verbalize contentother than the text communicated between parties during a communicationssession. For example, if the text “Hi” appears within a message sent bythe sender, the sender avatar 135 may be animated to verbally say“Hello” in response. As another example, when the text “otp” or the text“on the phone” appears within a message sent by the recipient, therecipient avatar 115 may be animated to verbally say “be with you injust a minute” in response. As another example, in response to an idlestate, an avatar may audibly try to get the attention of the sender orthe recipient. For example, when the recipient sends a message to thesender that includes a question mark and the sender is determined to beidle, the recipient avatar 115 may audibly say “Hello? You there?” totry to elicit a response from the sender regarding the recipient'squestion.

[0046] The sender may mute the recipient avatar 115 or the sender avatar135 to prevent the recipient avatar 115 or the sender avatar 135 fromspeaking further. By way of example, the sender may prefer to mute therecipient avatar 115 to prevent the recipient avatar 115 from speaking.In one implementation, to show that an avatar is muted, the avatar mayappear to be wearing a gag.

[0047] The voice of an avatar may correspond to the voice of a userassociated with the avatar. To do so, the characteristics of the user'svoice may be extracted from audio samples of the user's voice. Theextracted characteristics and the audio samples may be used to createthe voice of the avatar. Additionally or alternatively, the voice of theavatar need not correspond to the voice of the user and may be anygenerated or recorded voice.

[0048] The sender avatar 135 may be used to communicate an aspect of thesetting or the environment of the sender. By way of example, theanimation and appearance of the sender avatar 135 may reflect aspects ofthe time, date or place of the sender or aspects of the circumstances,objects or conditions of the sender. For example, when the sender usesthe instant messaging user interface 105 at night, the sender avatar 135may appear to be dressed in pajamas and have a light turned on toilluminate an otherwise dark portion of the screen on which the avataris displayed and/or the sender avatar 135 may periodically appear toyawn. When the sender uses the instant messaging user interface 105during a holiday period, the sender avatar 135 may be dressed in amanner illustrative of the holiday, such as appearing, as Santa Clausduring December, a pumpkin near Halloween, or Uncle Sam during earlyJuly. The appearance of the sender avatar 135 also may reflect theclimate or geographic location of the sender. For example, when rain isfalling in the location of the sender, wallpaper corresponding thesender avatar 135 may include falling raindrops and/or the sender avatar135 may wear a rain hat or appear under an open umbrella. In anotherexample, when the sender is sending instant message from a tropicallocation, the sender avatar 135 may appear in beach attire.

[0049] The sender avatar 135 also may communicate an activity beingperformed by the sender while the sender is using the instant messaginguser interface 105. For example, when the sender is listening to music,the avatar 135 may appear to be wearing headphones. When the sender isworking, the sender avatar 135 may be dressed in business attire, suchas appearing in a suit and a tie.

[0050] The appearance of the sender avatar 135 also may communicate themood or an emotional state of the sender. For example, the sender avatar135 may communicate a sad state of the sender by frowning or shedding atear. The appearance of the sender avatar 135 or the recipient avatar115 may resemble the sender or the recipient, respectively. For example,the appearance of the sender avatar 135 may be such that the senderavatar 135 appears to be of a similar age as the sender. In oneimplementation, as the sender ages, the sender avatar 135 also mayappear to age. As another example, the appearance of the recipientavatar 115 may be such that the recipient avatar 115 has an appearancesimilar to that of the recipient.

[0051] In some implementations, the wallpaper applied to the windowportion 120 and/or the wallpaper applied to the window portion 140 mayinclude one or more animated objects. The animated objects may repeatcontinuously or periodically on a predetermined or random basis a seriesof animations. Additionally or alternatively, the wallpapers applied tothe window portions 120 and 140 may be animated to in response to thetext of messages sent between the sender and the recipient. For example,the text of an instant message sent by the sender may trigger ananimation of the animated objects included in the wallpapercorresponding to the sender avatar 135, and the text of an instantmessages sent by the instant message recipient to the sender may triggeran animation of the animated objects included in the wallpapercorresponding to the recipient avatar 115. The animated objects includedin the wallpapers may be animated to reflect the setting or environment,activity and mood of the recipient and the sender, respectively.

[0052] An avatar may be used as a mechanism to enable self-expression oradditional non-text communication by a user associated with the avatar.For example, the sender avatar 135 is a projection of the sender, andthe recipient avatar 15 is a projection of the recipient. The avatarrepresents the user in instant messaging communications sessions thatinvolve the user. The personality or emotional state of a sender may beprojected or otherwise communicated through the personality of theavatar. Some users may prefer to use an avatar that more accuratelyrepresents the user. As such, a user may change the appearance andbehavior of an avatar to more accurately reflect the personality of theuser. In some cases, a sender may prefer to use an avatar forself-expression rather than projecting an actual image of the sender.For example, some people may prefer using an avatar to sending a videoor photograph of the sender.

[0053] Referring to FIG. 2, the animation of an avatar may involveresizing or repositioning the avatar such that the avatar occupies moreor different space on the instant message user interface 105 than theoriginal boundary of the avatar. In the illustration of FIG. 2, the sizeof sender avatar 205 has been increased such that the avatar 205 coversa portion of the message instant message composition area 145 and thecontrol 155. In addition, elements of the user interface 100 other thanan avatar also may be displayed using additional space or usingdifferent space on the user interface 100. For example, a sender avatarmay depict a starfish with an expressive face and may be displayed onwallpaper that includes animated fish. The animated fish included in thewallpaper may be drawn outside the original boundary around the senderavatar 135 and appear to swim outside the original boundary area.

[0054] Referring to FIG. 3, a process 300 is illustrated for animatingan avatar for self-expression based on the content of an instantmessage. In particular, an avatar representing an instant message senderis animated in response to text sent by the sender. The wallpaper of theavatar also is animated. The process 300 is performed by a processorexecuting an instant messaging communications program. In general, thetext of a message sent to an instant message recipient is searched foran animation trigger and, when a trigger is found, the avatar thatrepresents the instant message sender is animated in a particular mannerbased on the particular trigger that is found. The wallpaper displayedfor the avatar includes an animated object or animated objects. Theobject or objects may be animated based on the content of the instantmessage sent or may be animated based on other triggers, including (butnot limited to) the passing of a predetermined amount of time, theoccurrence of a particular day or time of day, any type of animation ofthe sender avatar, a particular type of animation of the sender avatar,any type of animation of the recipient avatar, or a particular type ofthe animation of the recipient avatar. Also, when the sender is inactivefor a predetermined duration, the avatar sequentially displays each ofmultiple animations associated with an idle state.

[0055] The process 300 begins when an instant message sender who isassociated with an avatar starts an instant messaging communicationssession with an instant message recipient (step 305). To do so, thesender may select the name of the recipient from a buddy list, such asthe buddy list 170 from FIG. 1. Alternatively, the name of the recipientmay be entered into a form that enables instant messages to be specifiedand sent. As another alternative, the sender may start an instantmessaging application that may be used to sign on for access to theinstant messaging system and specify the recipient as a user of theinstant messaging system with which a communications session is to bestarted. Once the recipient has been specified in this manner, adetermination is made as to whether a copy of avatars associated withthe sender and the recipient exist on the instant message client systembeing used by the sender. If not, copies of the avatars are retrievedfor use during the instant message communications session. For example,information to render an avatar of the recipient may be retrieved froman instant message host system or the instant message recipient client.In some cases, a particular avatar may be selected by the sender for useduring the instant messaging communications session. Alternatively oradditionally, the avatar may have been previously identified andassociated with the sender.

[0056] The processor displays a user interface for the instant messagingsession including the avatar associated with the sender and wallpaperapplied to the user interface over which the avatar is displayed (step307). The avatar may be displayed over, for example, wallpaper appliedto a portion of a window in which an instant message interface isdisplayed. In another example, the avatar is displayed over a portion orportions of an instant message interface, such as window portions 120 or140 and FIG. 1. In the example of FIG. 3, the wallpaper corresponding toavatar may include an object or objects that are animated during theinstant message communications session.

[0057] The processor receives text of a message entered by the sender tobe sent to the instant message recipient (step 310) and sends a messagecorresponding to the entered text to the recipient (step 315). Theprocessor compares the text of the message to multiple animationtriggers that are associated with the avatar projected by the sender(step 320). A trigger may include any letter, number, or symbol that maybe typed or otherwise entered using a keyboard or keypad. Multipletriggers may be associated with an animation.

[0058] Referring also to FIG. 4, examples 400 of triggers associatedwith animations 405 a-405 q of a particular avatar model are shown. Eachof the animations 405 a-405 q has multiple associated triggers 410 a-410q. More particularly, by way of example, the animation 405 a, in whichthe avatar is made to smile, has associated triggers 410 a. Each of thetriggers 410 a includes multiple character strings. In particular,triggers 410 a include a “:)” trigger 411 a, a “:-)” trigger 412 a, a“0:-)” trigger 413 a, a “0:)” trigger 414 a, and a “Nice” trigger 415 a.As illustrated, a trigger may be an English word, such as 415 a, or anemoticon, such as 411 a-414 a. Other examples of a trigger include aparticular abbreviation, such as “lol” 411 n, and an English phrase,such as “Oh no” 415 e. As discussed previously, when one of the triggersis included in an instant message, the avatar is animated with ananimation that is associated with the trigger. In one example, when“Nice” is included in an instant message, the avatar is made to smile.In one implementation, one or more of the triggers associated with ananimation is modifiable by a user. For example, a user may associate anew trigger with an animation, such as by adding “Happy” to triggers 410a to make the avatar smile. In another example, a user may delete atrigger associated with an animation (that is, disassociate a triggerfrom an animation), such as by deleting “Nice” 415 a. In yet anotherexample, a user may change a trigger that is associated with ananimation, such as by changing the “wink” trigger 413 b to “winks.”

[0059] In some implementations, a particular trigger may be associatedwith only one animation. In other implementations, a particular triggermay be permitted to be associated with multiple animations. In someimplementations, only one of the multiple animations may be played inresponse to a particular trigger. The single animation to be played maybe chosen randomly or in a pre-determined manner from the multipleanimations. In other implementations, all of the multiple animations maybe played serially based on a single trigger. In some implementations, auser may be permitted to delete a particular animation. For example, theuser may delete the yell animation 405 g. In such a case, the user maydelete some or all of the triggers associated with the yell animation405 g or may chose to associate some or all of the triggers 410 g with adifferent animation, such as a smile animation 405 a.

[0060] Referring again to FIG. 3, the processor determines whether atrigger is included within the message (step 325). When the messageincludes a trigger (step 325), the processor identifies a type ofanimation that is associated with the identified trigger (step 330).This may be accomplished by using a database table, a list, or a filethat associates one or more triggers with a type of animation for theavatar to identify a particular type of animation. Types of animationinclude, by way of example, a smile 405 a, a wink 405 b, a frown 405 c,an expression with a tongue out 405 d, a shocked expression 410 d, akiss 405 f, a yell 405 g, a big smile 405 h, a sleeping expression 405i, a nodding expression 405 j, a sigh 405 k, a sad expression 405 l, acool expression 405 m, a laugh 405 n, a disappearance 405 o, a smell 405p, or a negative expression 405 q, all of FIG. 4. The identified type ofanimation for the avatar is played (step 335).

[0061] Optionally, the processor may identify and play an animation ofat least one wallpaper object based on the match of a trigger with thetext of the message sent (step 337).

[0062] The processor monitors the communications activity of the senderfor periods of inactivity (step 340) to detect when the sender is in anidle state or an idle period of communications activity (step 345). Thesender may be in an idle state after a period during which no messageswere sent. To detect an idle state, the processor may determine whetherthe sender has not typed or sent an instant message or otherwiseinteracted with the instant message communications application for apredetermined amount of time. Alternatively, an idle state may bedetected by the processor when the sender has not used the computersystem in which the processor operates for a predetermined amount oftime.

[0063] When the processor detects inactivity (which may be referred toan idle state), a type of animation associated with the idle state isidentified (step 350). This may be accomplished by using a databasetable, list or file that identifies one or more types of animations toplay during a detected idle period. The type of animations played duringa detected idle state may be the same as or different from the types ofanimations played based on a trigger in an instant message. Theidentified type of animation is played (step 355). In oneimplementation, multiple types of animation associated with the idlestate may be identified and played. When the processor detects that thesender is no longer idle, such as by receiving an input from the sender,the processor may immediately stop playing the animation event (notshown). In some implementations, a user may select types of animationsto be played during an idle period and/or select the order in which theanimation are played when multiple animations are played during an idleperiod. A user may configure or otherwise determine the duration of timeduring which no messages are sent that constitutes an idle period forthe user.

[0064] In some implementations, the processor may detect a wallpaperobject trigger that is different than the trigger used to animate thesender avatar (step 360). For example, the processor may detect thepassage of a predetermined amount of time. In another example, theprocessor may detect that the content of the instant message includes atrigger for a wallpaper object animation that is different from thetrigger used to animate the sender avatar. Other wallpaper objecttriggers may include (but are not limited to) the occurrence of aparticular day or a particular time of day, the existence of anyanimations by the sender avatar, the existence of a particular type ofanimation by the sender avatar, the existence of animations by therecipient avatar, and/or the existence of a particular type of theanimation of the recipient avatar. The triggers for the animation ofwallpaper objects also may be user-configurable such that a user selectswhether a particular type of animation is to be included, any animationsare to be played, and triggers for one or more of the wallpaper objects.A trigger for a type of animation of a wallpaper object or objects maybe the same as, or different from, one of the triggers associated withanimating the avatar.

[0065] When the processor detects a wallpaper object trigger (step 360),the processor identifies and plays an animation of at least onewallpaper object (step 337).

[0066] The process of identifying and playing types of animations duringa sent instant message (steps 310-335) is performed for every instantmessage that is sent and for every instant message that is received bythe processor. The process of identifying and playing types of animationevents during periods of inactivity (steps 340-355) may occur multipletimes during the instant messaging communications session. Steps 310-355may be repeated indefinitely until the end of the instant messagingcommunications session.

[0067] The process of identifying and playing the types of animationsthat correspond to a sent instant message or that are played during aperiod of sender inactivity (steps 320-355) also are performed by theprocessor of the instant message communications application thatreceived the message. In this manner, the animation of the sender avatarmay be viewed by the sender and the recipient of the instant message.Thus, the animation of the avatar conveys information from the sender tothe recipient that is not directly included in the instant message.

[0068] Referring to FIG. 5, an instant messaging interface 500 may beused by a sender of a speech-based instant messaging system to send andreceive instant messages. In the speech-based instant messaging system,instant messages are heard rather than read by users. The instantmessages may be audio recordings of the users of the speech-basedinstant messaging system, or the instant messages may include text thatis converted into audible speech with a text-to-speech engine. The audiorecordings or the audible speech are played by the users. Thespeech-based instant messaging interface 500 may display an avatar 505corresponding to a user of the instant messaging system from whichspeech-based instant messages are received. The avatar 505 may beanimated automatically in response to the received instant messages suchthat the avatar 505 appears to be speaking the contents of the instantmessage. The recipient may view the animation of the avatar 505 andgather information not directly or explicitly conveyed in the instantmessage. Depending on the animation played, the recipient may be able todetermine, for example, the mood of the sender or whether the sender isbeing serious or joking.

[0069] More particularly, the audio message may be processed in the sameor similar manner as a textual instant message is processed with respectto the animation process 300 of FIG. 3. In such a case, types ofanimations are triggered by audio triggers included in an instantmessage.

[0070] In some implementations, the avatar 505 may appear to be speakingthe instant message. For example, the avatar 505 may include animationsof mouth movements corresponding to phonemes in human speech to increasethe accuracy of the speaking animations. When the instant messageincludes text, a text-to-speech process may be generate sounds spoken bythe avatar 505, animations corresponding to phonemes in the text may begenerated, and a lip synchronization process may be used to synchronizethe playing of the audio with the lip animation such that the phonemesare heard at the same time that the corresponding animation of the mouthof the avatar 505 is seen. When the instant message includes an audiorecording, animations corresponding to phonemes in the audio recordingmay be generated, and a lip synchronization used to synchronize theplaying of the audio recording with the lip animation.

[0071] In another example, a sender may record an audio portion to beassociated with one or more animations of the avatar 505. The recordingthen may be played when the corresponding animation of the avatar 505 isplayed.

[0072]FIG. 6 illustrates an example process 600 for communicatingbetween instant message clients 602 a and 602 b, through an instantmessage host system 604, to animate one avatar in response to ananimation played in a different avatar. Each of the users using client602 a or client 602 b is associated with an avatar that represents andprojects the user during the instant message session. The communicationsbetween the clients 602 a and 602 b are facilitated by an instantmessaging host system 604. In general, the communications process 600enables a first client 602 a and a second client 602 b to send andreceive communications from each other. The communications are sentthrough the instant messaging host system 604. Some or all of thecommunications may trigger an animation or animations in an avatarassociated with the user of the first client 602 a and an animation oranimations in an avatar associated with the user of the second client602 b.

[0073] An instant messaging communications session is establishedbetween the first client 602 a and the second client 602 b in whichcommunications are sent through the instant messaging server host system604 (step 606). The communications session involves a first avatar thatrepresents the user of the first client 602 a and a second avatar thatrepresents the user of the second client 602 b. This may beaccomplished, for example, as described previously with respect to step305 of FIG. 3. In general, both the user of the first client 602 a andthe user of the second client 602 b may use a user interface similar tothe user interface 100 of FIG. 1 in which the sender avatar and therecipient avatar are displayed on the first client 602 a and on thesecond client 602 b.

[0074] During the instant messaging communications session, a userassociated with the first client 602 a enters text of an instant messageto be sent to a user of the second client 602 b, which is received bythe processor on the client 602 a executing the instant messagingcommunications application (step 608). The entered text may include atrigger for one of the animations from the first avatar model. Theprocessor executing the instant messaging communications applicationsends the entered text to the second client 602 b in the instant messageby way of the host system 604 (step 610). Specifically, the host system604 receives the message and forwards the message from the first client602 a to the second client 602 b (step 612). The message then isreceived by the second client 602 b (step 614). Upon receipt of themessage, the second client 602 b displays the message in a userinterface in which messages from the user of the first client 602 a aredisplayed. The user interface may be similar to the instant messaginguser interface 105 from FIG. 1, in which avatars corresponding to thesender and the recipient are displayed.

[0075] Both the first client 602 a and the second client 602 b have acopy of the message, and both the first client 602 a and the secondclient 602 b begin processing the text of the message to determine ifthe text of the message triggers any animations in the respective copiesof the first and second avatar models. When processing the message, thefirst client 602 a and the second client 602 b may actually process themessage substantially concurrently or serially, but both the firstclient 602 a and the second client 602 b process the message in the sameway.

[0076] Specifically, the first client 602 a searches the text of themessage for animation triggers to identify a type of animation to play(step 616 a). The first client 602 a then identifies an animation havingthe identified type of animation for a first avatar associated with theuser of the first client 602 a (step 618 a). The first client 602 aplays the identified animation for the first avatar that is associatedwith the user of the first client 602 a (step 620 a). The first avatarmodel is used to identify the animation to be played because the firstavatar model is associated with the first client 602 a, which sent themessage. The first client 602 a and the second client 602 b useidentical copies of the first avatar model to process the message, sothe same animation event is seen on the first client 602 a and thesecond client 602 b.

[0077] The animation from the first avatar model triggers an animationfrom the second avatar model. To do so, the first client 602 aidentifies, based on the identified type of animation played for thefirst avatar in response to the text trigger, a type of animation to beplayed for a second avatar that is associated with the user of thesecond client 602 b (step 622 a). The first client 602 b plays theidentified type of animation for the second avatar (step 624 a).

[0078] The first client also may identify a type of animation to beplayed for wallpaper corresponding to the first avatar and plays theidentified wallpaper animation of the first avatar (step 626 a). Thewallpaper of the avatar may include an object or objects that areanimated during the instant message communications session. Theanimation of the object or objects may occur based on, for example, atrigger in an instant message or the passage of a predetermined amountof time. The animation of wallpaper objects also may beuser-configurable such that a user selects whether a particular typeanimation, or any animations, are played, and the triggers for one ormore of the wallpaper objects. A trigger for a type of animation of awallpaper object or objects may be the same as, or different from, oneof the triggers associated with animating the avatar. After the messagehas been sent and processed, the user of the first client 602 a may notsend any additional messages for a period of time. The first client 602a detects such a period of inactivity (step 628 a). The first client 602a identifies and plays an animation of a type associated with a periodof inactivity of detected by the first client 602 a (step 630 a). Thismay be accomplished by using a database table, list or file thatidentifies one or more types of animations to play during a detectedidle period.

[0079] The second client 602 b processes the instant message in the samewas as the first client 602 a. Specifically, the second client 602 bprocesses the message with steps 616 b through 630 b, each of which aresubstantially the same as parallel the message processing steps 616 athrough 630 a performed by the first client 602 a. Because each of thefirst client 602 a and the second client 602 b have copies of theavatars corresponding to the users of the first client 602 a and thesecond client 602 b, the same animations that were played on the firstclient 602 a as a result of executing steps 616 a through 630 a areplayed on the second client 602 b as a result of executing the similarsteps 616 b through 630 b.

[0080] During the communications process 600, a text-based messageindicates the types of animations that occur. However, messages withdifferent types of content also may trigger animations of the avatars.For example, characteristics of an audio signal included in anaudio-based message may trigger animations from the avatars.

[0081] Referring to FIG. 7, a process 700 is used to select andoptionally customize an avatar for use with an instant messaging system.An avatar may be customized to reflect a personality to be expressed oranother aspect of self-expression of the user associated with theavatar. The process 700 begins when a user selects an avatar frommultiple avatars and the selection is received by the processorexecuting the process 700 (step 705). For example, a user may select aparticular avatar from multiple avatars such as the avatars illustratedin FIG. 8. Each of the avatars 805 a-805 r is associated with an avatarmodel that specifies the appearance of the avatar. Each of the avatars805 a-805 r also includes multiple associated animations, each animationidentified as being of a particular animation type. The selection may beaccomplished, for example, when a user selects one avatar from a groupof displayed avatars. The display of the avatars may show multipleavatars in a window, such as by showing a small representation (which insome implementations may be referred to as a “thumbnail”) of eachavatar. Additionally or alternatively, the display may be a list ofavatar names from which the user selects.

[0082]FIG. 8 illustrates multiple avatars 805 a-805 r. Each avatar 805a-805 r includes an appearance, name, and personality description. Inone example, avatar 805 a has an appearance 810 a, a name 810 b and apersonality description 810 c. The appearance of an avatar mayrepresent, by way of example, living, fictional or historical people,sea creatures, amphibians, reptiles, mammals, birds, or animatedobjects. Some avatars may be represented only with a head, such asavatars 805 a-805 r. In one example, the appearance of the avatar 805 bincludes a head of a sheep. The appearance of other avatars may includeonly a portion or a specific part of a head. For example, the appearanceof the avatar 805 l resembles a set of lips. Other avatars may berepresented by a body in addition to a head. For example, the appearanceof the avatar 805 n includes a full crab body in addition to a head. Anavatar may be displayed over wallpaper that is related in subject matterto the avatar. In one example, the avatar 805 i is displayed overwallpaper that is indicative of a swamp in which the avatar 805 j lives.

[0083] Each of the avatars 805 a-805 r has a base state expression. Forexample, the avatar 805 f appears to be happy, the avatar 805 j appearsto be sad, and the avatar 805 m appears to be angry. Avatars may haveother base state expressions, such as scared or bored. The base stateexpression of an avatar may influence the behavior of the avatar,including the animations and the sounds of the avatar. In one example,the avatar 805 f has a happy base state expression and consequently hasa generally happy behavior, whereas the avatar 805 m has a creepy basestate expression and consequently has a generally scary, creepy andspooky demeanor. In another example, a happy avatar may have upbeatsounds while an angry avatar may appear to be shouting when a sound isproduced. The base state expression of an avatar may be changed as aresult of the activities of a user associated with the avatar. By way ofexample, the degree of happiness expressed by the avatar may be relatedto the number of messages sent or received by the user. When the usersends or receives many messages in a predetermined period of time, theavatar may appear happier than when the user sends or receives fewermessages in the predetermined period of time.

[0084] One of multiple avatars 805 a-805 r may be chosen by a user ofthe instant messaging system. Each of the avatars 805 a-805 r isassociated with an appearance, characteristics and behaviors thatexpress a particular type of personality. For example, an avatar 805 f,which has appearance characteristics of a dolphin, may be chosen.

[0085] Each of the avatars 805 a-805 r is a multi-dimensional characterwith depth of personality, voice, and visual attributes. In contrast torepresenting a single aspect of a user through the use of an unanimated,two-dimensional graphical icon, an avatar of the avatars 805 a-805 r iscapable of indicating a rich variety of information about the userprojecting the avatar. Properties of the avatar enable the communicationof physical attributes, emotional attributes, and other types of contextinformation about the user that are not well-suited (or even available)for presentation through the use of two-dimensional icons that are notanimated. In one example, the avatar may reflect the user's mood,emotions, and personality. In another example, the avatar may reflectthe location, activities and other context of the user. Thesecharacteristics of the user may be communicated through the appearance,the visual animations, and the audible sounds of the avatar.

[0086] In one example of an avatar personality, an avatar namedSoccerBuddy (not shown) is associated with an energetic personality. Infact, the personality of the SoccerBuddy avatar may be described asenergetic, bouncy, confidently enthusiastic, and youthful. TheSoccerBuddy avatar's behaviors reflect events in soccer matches. Forexample, the avatar's yell animation is an “ole, ole, ole” chant, hisbig-smile animation is “gooooooaaaaaallllll,”and, during a frownanimation or a tongue-out animation, the avatar shows a yellow card.Using wallpaper, the SoccerBuddy is customizable to represent a specificteam. Special features of the SoccerBuddy avatar include cleated feet torepresent the avatar's base. In general, the feet act as the base forthe avatar. The SoccerBuddy avatar is capable of appearing to move aboutby pogo-sticking on his feet. In a few animations, such as when theavatar goes away, the avatar's feet may become large and detach from theSoccerBuddy. The feet are able to be animated to kick a soccer ballaround the display.

[0087] In another example, a silent movie avatar is reminiscent ofsilent film actor in the 1920's and 1930's. A silent movie avatar isdepicted using a stove-pipe hat and a handle-bar moustache. The silentmovie avatar is not associated with audio. Instead of speaking, thesilent movie avatar is replaced by, or displays, placards having text ina manner similar to how speech was conveyed in a silent movie.

[0088] In other examples, an avatar may be appropriate to current eventsor a season. In one example, an avatar may represent a team or a playeron a team involved in professional or amateur sport. An avatar mayrepresent a football team, a baseball team, or a basketball team, or aparticular player of a team. In one example, teams engaged in aparticular playoff series may be represented. Examples of seasonalavatars include a Santa Claus avatar, an Uncle Sam avatar, aThanksgiving turkey avatar, a Jack-o-Lantern avatar, a Valentine's Dayheart avatar, an Easter egg avatar, and an Easter bunny avatar.

[0089] Animation triggers of the avatar may be modified to customizewhen various types of animations associated with the avatar are to occur(step 710). For example, a user may modify the triggers shown in FIG. 4to indicate when an avatar is to be animated, as described previouslywith respect to FIG. 3. The triggers may be augmented to includefrequently used words, phrases, or character strings. The triggers alsomay be modified such that the animations that are played as a result ofthe triggers are indicative of the personality of the avatar. Modifyingthe triggers may help to define the personality expressed by the avatarand used for user self-expression.

[0090] A user also may configure the appearance of an avatar (step 715).This also may help define the personality of the avatar, and communicatea self-expressive aspect of the sender. For example, referring also toFIG. 9, an appearance modification user interface 900 may be used toconfigure the appearance of an avatar. In the example of FIG. 9, theappearance modification user interface 900 enables the user to modifymultiple characteristics of a head of an avatar. For example, hair,eyes, nose, lips and skin tone of the avatar may be configured with theappearance modification user interface 900. For example, a hair slider905 may be used to modify the length of the avatar's hair. The variouspositions of the hair slider 905 represent different possible lengths ofhair for the avatar that correspond to different representations of thehair of the avatar included in the avatar model file associated with theavatar being configured. An eyes slider 910 may be used to modify thecolor of the avatar's eyes, with each position of the eyes slider 910representing a different possible color of the avatar's eyes and eachcolor being represented in the avatar model file. A nose slider 915 maybe used to modify the appearance of the avatar's nose, with eachposition of the nose slider 915 representing a different possibleappearance of the avatar's nose and each possible appearance beingrepresented in the avatar model file. In a similar manner, a lips slider920 may be used to modify the appearance of the avatar's lips, with eachposition of the lips slider 920 representing a different possibleappearance of the avatar's lips and associated with a different liprepresentation in the avatar model file. The avatar's skin tone also maybe modified with a skin tone slider 925. Each of the possible positionsof the skin tone slider 925 represents a possible skin tone for theavatar with each being represented in the avatar model file.

[0091] The appearance of the avatar that is created as a result of usingthe sliders 905-925 may be previewed in an avatar viewer 930. The valueschosen with the sliders 905-925 are reflected in the avatar illustratedin the avatar viewer 930. In one implementation, the avatar viewer 930may be updated as each of the sliders 905-925 is moved such that thechanges made to the avatar's appearance are immediately visible. Inanother implementation, the avatar viewer 930 may be updated once afterall of the sliders 905-925 have been used.

[0092] A rotation slider 935 enables the rotation of the avatarillustrated in the avatar viewer 930. For example, the avatar may berotated about an axis by a number of degrees chosen on the rotationslider 935 relative to an unrotated orientation of the avatar. In oneimplementation, the axis extends vertically through the center of theavatar's head and the unrotated orientation of the avatar is when theavatar is facing directly forward. Rotating the avatar's head with therotation slider 930 enables viewing of all sides of the avatar toillustrate the changes to the avatar's appearance made with the sliders905-925. The avatar viewer 930 may be updated as the rotation slider 930is moved such that changes in the orientation of the avatar may beimmediately visible.

[0093] The appearance modification user interface 900 also includes ahair tool button 940, a skin tool button 945, and a props tool button950. Selecting the hair tool button 940 displays a tool for modifyingvarious characteristics of the avatar's hair. For example, the tooldisplayed as a result of selecting the hair tool button 940 may enablechanges to, for example, the length, color, cut, and comb of theavatar's hair. In one implementation, the changes made to the avatar'shair with the tool displayed as a result of selecting the hair toolbutton 940 are reflected in the illustration of the avatar in the avatarviewer 930.

[0094] Similarly, selecting a skin tool button 945 displays a tool formodifying various aspects of the avatar's skin. For example, the tooldisplayed as a result of selecting the skin tool button 945 may enable,for example, changing the color of the avatar's skin, giving the avatara tan, giving the avatar tattoos, or changing the weathering of theavatar's skin to give appearances of the age represented by the avatar.In one implementation, the changes made to the avatar's skin with thetool displayed as a result of selecting the skin tool button 945 arereflected in the illustration of the avatar in the avatar viewer 930.

[0095] In a similar manner, selecting the props tool button 950 displaysa tool for associating one or more props with the avatar. For example,the avatar may be given eyeglasses, earrings, hats, or other objectsthat may be worn by, or displayed on or near, the avatar through use ofthe props tool. In one implementation, the props given to the avatarwith the tool displayed as a result of selecting the props tool button950 are shown in the illustration of the avatar in the avatar viewer930. In some implementations, all of the props that may be associatedwith the avatar are included in the avatar model file. The propscontrols whether each of the props is made visible when the avatar isdisplayed. In some implementations, a prop may be created using andrendered by two-dimensional animation techniques. The rendering of theprop is synchronized with animations for the three-dimensional avatar.Props may be generated and associated with an avatar after the avatar isinitially created.

[0096] Once all desired changes have been made to the avatar'sappearance, the user may accept the changes by selecting a publishbutton 955. Selecting the publish button 955 saves the changes made tothe avatar's appearance. In addition, when copies of the avatar are heldby other users of the instant messaging system to reflect the changemade, the other users are sent updated copies of the avatar that reflectthe changes made by the user to the avatar. The copies of the avatar maybe updated so that all copies of the avatar have the same appearancesuch that there is consistency among the avatars used to send andreceive out-of-band communications. The appearance modification userinterface 900 may be used by the user to change only copies of theavatar corresponding to the user. Therefore, the user is prevented frommaking changes to other avatars corresponding to other users that may beoverwritten he user is sent updated copies of the other avatars becausethe other users made changes to the other avatars. Preventing the userfrom modifying the other avatars ensures that all copies of the avatarsare identical.

[0097] The avatar illustrated in the avatar viewer 930 may have anappearance that does not include one of hair, eyes, a nose, lips, orskin tone that are modified with the sliders 905-925. For example, theappearance of the avatar 8051 from FIG. 8 does not include hair, eyes, anose, or skin tone. In such a case, the appearance modification userinterface 900 may omit the sliders 905-925 and instead include slidersto control other aspects of the appearance of the avatar. For example,the appearance modification user interface 900 may include a teethslider when the appearance of the avatar 8051 is being modified.Moreover, the interface 900 may be customized based on the avatarselected, to enable appropriate and relevant visual enhancementsthereto.

[0098] In another example of configuring the appearance of an avatar, aconfigurable facial feature of an avatar may be created using blendshapes of the animation model corresponding to the avatar. A blend shapedefines a portion of the avatar that may be animated. In someimplementations, a blend shape may include a mesh percentage that may bemodified to cause a corresponding modification in the facial feature. Insuch a case, a user may be able to configure a facial feature of anavatar by using a slider or other type of control to modify the meshpercentage of the blend shapes associated with the facial feature beingconfigured.

[0099] In addition to modifying the appearance of the avatar with theappearance modification user interface 900, the color, texture, andparticles of the avatar may be modified. More particularly, the color orshading of the avatar may be changed. The texture applied to avatar maybe changed to age or weather the skin of the avatar. Furthermore, thewidth, length, texture, and color of particles of the avatar may becustomized. In one example, particles of the avatar used to portray hairor facial hair, such as a beard, may be modified to show hair or beardgrowth in the avatar.

[0100] Referring again to FIG. 7, wallpaper over which the avatar isillustrated and an animation for objects in the wallpaper may be chosen(step 720). This may be accomplished by, for example, choosing wallpaperfrom a set of possible wallpapers. The wallpapers may include animatedobjects, or the user may choose objects and animations for the chosenobjects to be added to the chosen wallpaper.

[0101] A trading card that includes an image of the avatar, adescription of the avatar may be created (step 725). In someimplementations, the trading card also may include a description of theuser associated with the avatar. The trading card may be shared withother users of the instant messaging system to inform the other users ofthe avatar associated with the user.

[0102] Referring also to FIG. 10, one example of a trading card isdepicted. The front side 1045 of the trading card shows the avatar 1046.The animations of the avatar may be played by selecting the animationscontrol 1047. The back side 1050 of the trading card includesdescriptive information 1051 about the avatar, including the avatar'sname, date of birth, city, species, likes, dislikes, hobbies, andaspirations. As illustrated in FIG. 10, both the front side 1045 and theback side 1050 of the trading card is shown. In some implementations,only one side 1045 or 1050 of the trading card is able to be displayedat one time. In such a case, a user may be able to control the side ofthe trading card that is displayed by using one of the flip controls1048 or 1052. A store from which accessories for the avatar 1046illustrated in the trading card may be accessed by selecting a shoppingcontrol 1049.

[0103] Referring again to FIG. 7, the avatar also may be exported foruse in another application (step 730). In some implementations, anavatar may be used by an application other than a messaging application.In one example, an avatar may be displayed as part of a user'scustomized home page of the user's access provider, such as an Internetservice provider. An instant message sender may drag-and-drop an avatarto the user's customized home page such that the avatar is viewable bythe user corresponding to the avatar. In another example, the avatar maybe used in an application in which the avatar is viewable by anyone. Aninstant message sender may drag-and-drop the sender's avatar to thesender's blog or another type of publicly-accessible online journal. Theuser may repeat one or more of the steps in process 700 until the useris satisfied with the appearance and behavior of the avatar. The avataris saved and made available for use in an instant messagingcommunications session.

[0104] Referring again to FIG. 10, the avatar settings user interface1000 includes a personality section 1002. Selecting a personality tab1010 displays a personality section of the avatar settings interface1000 for modifying the behavior of the one or more avatars. In oneimplementation, the avatar settings user interface 1000 may be used withthe process 700 of FIG. 7 to choose the wallpaper of an avatar and/or tocreate a trading card for an avatar.

[0105] The personality section 1002 of the avatar settings interface1000 includes an avatar list 1015 including the one or more variousavatars corresponding to the user of the instant messaging system. Eachof the one or more avatars may be specified to have a distinctpersonality for use while communicating with a specific person or in aspecific situation. In one implementation, an avatar may changeappearance or behavior depending on the person with which the userinteracts. For example, an avatar may be created with a personality thatis appropriate for business communications, and another avatar may becreated with a personality that is appropriate for communications withfamily members. Each of the avatars may be presented in the list with aname as well as a small illustration of each avatar's appearance.Selection of an avatar from the avatar list 1015 enables thespecification of the behavior of the selected avatar. For example, theavatar 1020, which is chosen to be the user's default avatar, has beenselected from the avatar list 1015, so the behavior of the avatar 1020may be specified.

[0106] Names of the avatars included in the avatar list may be changedthrough selection of a rename button 1025. Selecting the rename buttondisplays a tool for changing the name of an avatar selected from theavatar list 1015. Similarly, an avatar may be designated as a defaultavatar by selecting a default button 1030 after selecting the avatarfrom the avatar list 1015. Avatars may be deleted by selecting a deletebutton 1035 after selecting the avatar from the avatar list 1015. In oneimplementation, a notification is displayed before the avatar is deletedfrom the avatar list 1015. Avatars also may be created by selecting acreate button 1040. When the create button 1040 is pressed, a new entryis added to the avatar list 1015. The entry may be selected and modifiedin the same way as other avatars in the avatar list 1015.

[0107] The behavior of the avatar is summarized in a card front 1045 anda card back 1050 displayed on the personality section. The card front1045 includes an illustration of the avatar and wallpaper over which theavatar 1020 is illustrated. The card front 1045 also includes a shoppingcontrol 1049 to a means for purchasing props for the selected avatar1020. The card back 1050 includes information describing the selectedavatar 1020 and a user of the selected avatar. The description mayinclude a name, a birth date, a location, as well as other identifyingand descriptive information for the avatar and the user of the avatar.The card back 1050 also may include an illustration of the selectedavatar 1020 as well as the wallpaper over which the avatar 1020 isillustrated. The trading card created as part of the avatarcustomization process 700 includes the card front 1045 and the card back1050 automatically generated by the avatar settings interface 1000.

[0108] The personality section 1002 of the avatar settings interface1000 may include multiple links 1055-1070 to tools for modifying otheraspects of the selected avatar's 1020 behavior. For example, an avatarlink 1055 may lead to a tool for modifying the appearance of theselected avatar 1020. In one implementation, selecting the avatar link1055 may display the appearance modification user interface 900 fromFIG. 9. In another implementation, the avatar link 1055 may display atool for substituting or otherwise selecting the selected avatar 1020.In yet another example, the avatar link 1055 may allow the appearance ofthe avatar to be changed to a different species. For example, the toolmay allow the appearance of the avatar 1020 to be changed from that of adog to that of a cat.

[0109] A wallpaper link 1060 may be selected to display a tool forchoosing the wallpaper over which the selected avatar 1020 is drawn. Inone implementation, the wallpaper may be animated.

[0110] A sound link 1065 may be selected to display a tool with whichthe sounds made by the avatar 1020 may be modified. The sounds may beplayed when the avatar is animated, or at other times, to get theattention of the user.

[0111] An emoticon link 1070 may be selected to display a tool forspecifying emoticons that are available when communicating with theselected avatar 1020. Emoticons are two-dimensional non-animated imagesthat are sent when certain triggers are included in the text of aninstant message. Changes made using the tools that are accessiblethrough the links 1055-1070 may be reflected in the card front 1045 andthe card back 1050. After all desired changes have been made to theavatars included in the avatar list 1015, the avatar settings interface1000 may be dismissed by selecting a close button 1075.

[0112] It is possible, through the systems and techniques describedherein, particularly with respect to FIGS. 11A-14, to enable users toassemble multiple self-expression items into a collective “onlinepersona” or “online personality,” which may then be saved and optionallyassociated with one or more customized names. Each self-expression itemis used to represent the instant message sender or a characteristic orpreference of the instant message sender, and may includeuser-selectable binary objects. The self-expression items may be madeperceivable by a potential instant message recipient (“instant messagerecipient”) before, during, or after the initiation of communications bya potential instant message sender (“instant message sender”). Forexample, self-expression items may include an avatar, images, such aswallpaper, that are applied in a location having a contextual placementon a user interface. The contextual placement typically indicates anassociation with the user represented by the self-expression item. Forinstance, the wallpaper may be applied in an area where messages fromthe instant message sender are displayed, or in an area around a dialogarea on a user interface. Self-expression items also include sounds,animation, video clips, and emoticons (e.g., smileys). The personalitymay also include a set of features or functionality associated with thepersonality. For example, features such as encrypted transmission,instant message conversation logging, and forwarding of instant messagesto an alternative communication system may be enabled for a givenpersonality.

[0113] Users may assign personalities to be projected when conversingwith other users, either in advance of or “on-the-fly” during acommunication session. This allows the user to project differentpersonalities to different people on-line. In particular, users may saveone or more personalities (e.g., where each personality typicallyincludes groups of instant messaging self-expression items such as, forexample avatars, Buddy Sounds, Buddy Wallpaper, and Smileys, and/or aset of features and functionalities) and they may name thosepersonalities to enable their invocation, they may associate each ofdifferent personalities with different users with whom they communicateor groups of such users so as to automatically display anappropriate/selected personality during communications with such otherusers or groups, or they may establish each of different personalitiesduring this process of creating, adding or customizing lists or groupsof users or the individual users themselves. Thus, the personalities maybe projected to others in interactive online environments (e.g., InstantMessaging and Chat) according the assignments made by the user.Moreover, personalities may be assigned, established and/or associatedwith other settings, such that a particular personality may be projectedbased on time-of-day, geographic or virtual location, or evencharacteristics or attributes of each (e.g., cold personality for winterin Colorado or chatting personality while participating in a chat room).

[0114] In many instances, an instant message sender may have multipleonline personas for use in an instant message communications session.Each online persona is associated with an avatar representing theparticular online persona of the instant message sender. In many cases,each online persona of a particular instant message sender is associatedwith a different avatar. This need not be necessarily so. Moreover, evenwhen two or more online personas of a particular instant message senderinclude the same avatar, the appearance or behavior of the avatar may bedifferent for each of the online personas. In one example, a starfishavatar may be associated with two online personas of a particularinstant message sender. The starfish avatar that is associated with oneonline persona may have different animations than the other starfishavatar that is associated with the other online persona. Even when bothof the starfish avatars include the same animations, one of the starfishavatars may be animated to display an animation of a particular typebased on different triggers than the same animation that is displayedfor the other of the starfish avatars.

[0115]FIG. 11A shows relationships between online personas, avatars,avatar behaviors and avatar appearances. In particular, FIG. 11A showsonline personas 1102 a-1102 e and avatars 1104 a-1104 d that areassociated with the online personas 1102 a-1102 e. Each of the avatars1104 a-1104 d includes an appearance 1106 a-1106 c and a behavior 1108a-1108 d. More particularly, the avatar 1104 a includes an appearance1106 a and a behavior 1108 a; the avatar 1104 b includes an appearance1106 b and a behavior 1108 b; the avatar 1104 c includes the appearance1106 c and a behavior 1108 c; and the avatar 1104 d includes anappearance 1106 c and a behavior 1108 d. The avatars 1104 c and 1104 dare similar in that both include the appearance 1106 c. However, theavatars 1104 c and 1104 d differ in that the avatar 1104 c includes thebehavior 1108 c while the avatar 1104 d includes the behavior 1108 d.

[0116] Each of the online personas 1102 a-1102 e is associated with oneof the avatars 1104 a-1104 d. More particularly, the online persona 1102a is associated with the avatar 1104 a; the online persona 1102 b isassociated with the avatar 1104 b; the online persona 1102 c also isassociated with the avatar 1104 b the online persona 1102 d isassociated with the avatar 1104 c; and the online persona 1102 e isassociated with the avatar 1104 d. As illustrated by the online persona1102 a that is associated with the avatar 1104 a, an online persona maybe associated with an avatar that is not also associated with adifferent online persona.

[0117] Multiple online personas may use the same avatar. This isillustrated by the online personas 1102 b and 1102 c that are bothassociated with the avatar 1104 b. In this case, the appearance andbehavior exhibited by avatar 1104 b is the same for both of the onlinepersonas 1102 b and 1102 c. In some cases, multiple online personas mayuse similar avatars that have the same appearance by which exhibitdifferent behavior, as illustrated by online personas 1102 d and 1102 e.The online personas 1102 d and 1102 e are associated with similaravatars 1104 c and 1104 d that have the same appearance 1106 c. Theavatars 1102 d and 1102 e, however, exhibit different behavior 1108 cand 1108 d, respectively.

[0118] In creating personalities, the instant message sender may forbida certain personality to be shown to designate instant messagerecipients and/or groups. For example, if the instant message senderwants to ensure that the “Casual” personality is not accidentallydisplayed to the boss or to co-workers, the instant message sender mayprohibit the display of the “Casual” personality to the boss on anindividual basis, and may prohibit the display of the “Casual”personality to the “Co-workers” group on a group basis. An appropriateuser interface may be provided to assist the instant message sender inmaking such a selection. Similarly, the instant message sender may beprovided an option to “lock” a personality to an instant messagerecipient or a group of instant message recipients to guard againstaccidental or unintended personality switching and/or augmenting. Thus,for example, the instant message sender may choose to lock the “Work”personality to the boss on an individual basis, or to lock the “Work”personality to the “Co-workers” group on a group basis. In one example,the Casual personality will not be applied to a locked personality.

[0119]FIG. 11B shows an exemplary process 1100 to enable an instantmessage sender to select an online persona to be made perceivable to aninstant message recipient. The selected online persona includes anavatar representing the online persona of the instant message sender.The process 1100 generally involves selecting and projecting an onlinepersona that includes an avatar representing the sender. The instantmessage sender creates or modifies one or more online personalities,including an avatar representing the sender (step 1105). The onlinepersonalities may be created or modified with, for example, the avatarsettings user interface 1000 of FIG. 10. Creating an online personagenerally involves the instant message sender selecting one or moreself-expression items and/or features and functionalities to bedisplayed to a certain instant message recipient or group of instantmessage recipients. A user interface may be provided to assist theinstant message sender in making such a selection, as illustrated inFIG. 12.

[0120]FIG. 12 shows a chooser user interface 1200 that enables theinstant message sender to select among available personalities 1205,1210, 1215, 1220, 1225, 1230, 1235, 1240, 1245, 1250, and 1255. The userinterface 1200 also has a control 1260 to enable the instant messagesender to “snag” the personality of another user, and a control 1265 toreview the personality settings currently selected by the instantmessage sender. Through the use of the avatar settings interface 1000,the user may change the personality, including the avatar, beingprojected to the instant message recipient before, during, or after theinstant message conversation with the recipient.

[0121] Alternatively, the selection of a personality also may occurautomatically without sender intervention. For example, an automaticdetermination may be made that the sender is sending instant messagesfrom work. In such a case, a personality to be used at work may beselected automatically and used for all communications. As anotherexample, an automatic determination may be made that the sender issending instant messages from home, and a personality to be used at homemay be selected automatically and used for all communications. In suchan implementation, the sender is not able to control which personalityis selected for use. In other implementations, automatic selection of apersonality may be used in conjunction with sender selection of apersonality, in which case the personality automatically selected mayact as a default that may be changed by the sender.

[0122]FIG. 13 shows a series 1300 of exemplary user interfaces forenabling an instant message sender to create and store a personality,and/or select various aspects of the personality such as avatars, buddywallpaper, buddy sounds, and smileys. As shown, user interface 1305enables an instant message sender to select a set of one or moreself-expression items and save the set of self-expression items as apersonality. The user interface 1305 also enables an instant messagesender to review and make changes to an instant message personality. Forexample, the user interface 1305 enables an instant message sender tochoose an avatar 1310 (here, referred to as a SuperBuddy), buddywallpaper 1315, emoticons 1320 (here, referred to as Smileys), and buddysounds 1325. A set of controls 1340 is provided to enable the instantmessage sender to preview 1340 a the profile and to save 1340 b theseselected self-expression items as a personality. The instant messagesender is able to name and save the personality 1345 and then is able toapply the personality 1350 to one or more individual instant messagerecipients or one or more groups of instant message recipients. Amanagement area 1350 a is provided to enable the instant message senderto delete, save, or rename various instant message personalities. Inchoosing the self-expression items, other interfaces such as userinterface 1355 may be displayed to enable the instant message sender toselect the particular self-expression items. The user interface 1355includes a set of themes 1360 for avatars which enables an instantmessage sender to select a particular theme 1365 and choose a particularavatar 1370 in the selected theme. A set of controls 1375 is provided toassist the instant message sender in making the selection ofself-expression items. Also, an instant message sender may be enabled tochoose a pre-determined theme, for example, by using a user interface1380. In user interface 1380, the instant message sender may selectvarious categories 1385 of pre-selected themes and upon selecting aparticular category 1390, a set of default pre-selected, self-expressionitems is displayed, 1390 a, 1390 b, 1390 c, 1390 d, 1390 e, and 1390 f.The set may be unchangeable or the instant message sender may be able toindividually change any of the pre-selected self-expression items in theset. A control section 1395 is also provided to enable the instantmessage sender to select the themes.

[0123] In another implementation, the features or functionality of theinstant message interface may vary based upon user-selected orpre-selected options for the personality selected or currently in use.The features or functionality may be transparent to the instant messagesender. For example, when using the “Work” personality, the outgoinginstant messages may be encrypted, and a copy may be recorded in a log,or a copy may be forwarded to a designated contact such as anadministrative assistant. A warning may be provided to an instantmessage recipient that the instant message conversation is beingrecorded or viewed by others, as appropriate to the situation. Bycomparison, if the non-professional “Casual” personality is selected,the outgoing instant messages may not be encrypted and no copy isrecorded or forwarded.

[0124] As a further example, if the “Work” personality is selected andthe instant message sender indicates an unavailability to receiveinstant messages (e.g., through selection of an “away” message or bygoing offline), then messages received from others during periods ofunavailability may be forwarded to another instant message recipientsuch as an administrative assistant, or may be forwarded to an e-mailaddress for the instant message sender. By comparison, if thenon-professional “Casual” personality is selected, no extra measures aretaken to ensure delivery of the message.

[0125] In one implementation, the features and functionality associatedwith the personality would be transparent to the instant message sender,and may be based upon one or more pre-selected profiles types whensetting up the personality. For example, the instant message sender maybe asked to choose from a group of personality types such asprofessional, management, informal, vacation, offbeat, etc. In theexample above, the “Work” personality may have been be set up as a“professional” personality type and the “Casual” personality may havebeen set up as an “informal” personality type. In anotherimplementation, the instant message sender may individually select thefeatures and functionalities associated with the personality.

[0126] Referring again to FIG. 11B, the personality is then stored (step1110). The personality may be stored on the instant message sendersystem, on the instant message host system, or on a different hostsystem such as a host system of an authorized partner or accessprovider.

[0127] Next, the instant message sender assigns a personality to beprojected during future instant message sessions or when engaged infuture instant message conversations with an instant message recipient(step 1115). The instant message sender may wish to display differentpersonalities to different instant message recipients and/or groups inthe buddy list. The instant message sender may use a user interface toassign personalization items to personalities on at least a per-buddygroup basis. For example, an instant message sender may assign a globalavatar to all personalities, but assign different buddy sounds on aper-group basis to other personalities (e.g. work, family, friends), andassign buddy wallpaper and smileys on an individual basis to individualpersonalities corresponding to particular instant message recipientswithin a group. The instant message sender may assign other personalityattributes based upon the occurrence of certain predetermined events ortriggers. For example, certain potential instant message recipients maybe designated to see certain aspects of the Rainy Day personality if theweather indicates rain at the geographic location of the instant messagesender. Default priority rules may be implemented to resolve conflicts,or the user may select priority rules to resolve conflicts amongpersonalities being projected or among self-expression items beingprojected for an amalgamated personality.

[0128] For example, a set of default priority rules may resolveconflicts among assigned personalities by assigning the highest priorityto personalities and self-expression items of personalities assigned onan individual basis, assigning the next highest priority to assignmentsof personalities and personalization items made on a group basis, andassigning the lowest priority to assignments of personalities andpersonalization items made on a global basis. However, the user may begiven the option to override these default priority rules and assigndifferent priority rules for resolving conflicts.

[0129] Next, an instant message session between the instant messagesender and the instant message recipient is initiated (step 1120). Theinstant message session may be initiated by either the instant messagesender or the instant message recipient.

[0130] An instant message user interface is rendered to the instantmessage recipient, configured to project the personality, including theavatar, assigned to the instant message recipient by the instant messagesender (step 1125), as illustrated, for example, in the user interface100 in FIG. 1. The personality, including an avatar associated with thepersonality, chosen by an instant messaging recipient may be madeperceivable upon opening of a communication window by the instantmessage sender for a particular instant message recipient but prior toinitiation of communications. This may allow a user to determine whetherto initiate communications with instant message recipient. For example,an instant message sender may notice that the instant message recipientis projecting an at-work personality, and the instant message sender maydecide to refrain from sending an instant message. This may beparticularly true when the avatar of the instant message recipient isdisplayed on a contact list. On the other hand, rendering the instantmessage recipient avatar after sending an instant message may result inmore efficient communications.

[0131] The appropriate personality/personalization item set for a buddyis sent to the buddy when the buddy communicates with the instantmessage sender through the instant messaging client program. Forexample, in an implementation which supports global personalizationitems, group personalization items, and personal personalization items,a personal personalization item is sent to the buddy if set, otherwise agroup personalization item is sent, if set. If neither a personal nor agroup personalization item is set, then the global personalization itemis sent. As another example, in an implementation that supports globalpersonalization items and group personalization items, the grouppersonalization item for the group to which the buddy belongs is sent,if set, otherwise the global personalization item is sent. In animplementation that only supports group personalization items, the grouppersonalization item for the group to which the buddy belongs is sent tothe buddy.

[0132] An instant message session between the instant message sender andanother instant message recipient also may be initiated (step 1130) byeither the instant message sender or the second instant messagerecipient.

[0133] Relative to the second instant message session, a second instantmessage user interface is rendered to the second instant messagerecipient, configured to project the personality, including the avatar,assigned to the second instant message recipient by the instant messagesender (step 1135), similar to the user interface illustrated by FIG. 1.The personality may be projected in a similar manner to that describedabove with respect to step 1125. However, the personality and avatarprojected to the second instant message recipient may differ from thepersonality and avatar projected to the first instant message recipientdescribed above in step 1125.

[0134] Referring to FIG. 14, an exemplary process 1400 enables aninstant message sender to change a personality assigned to an instantmessage recipient. In process 1400, a user selection of a new onlinepersona, including an avatar, to be assigned to the instant messagerecipient is received (step 1405). The change may be received through aninstant message chooser 1200, such as that discussed above with respectto FIG. 12, and may include choosing self-expression items and/orfeatures and functionality using such as interface or may include“snagging” an online persona or an avatar of the buddy using such aninterface. Snagging an avatar refers to the appropriation by the instantmessage sender of one or more personalization items, such as the avatar,used by the instant message recipient. Typically, all personalizationitems in the online persona of the instant message recipient areappropriated by the instant message sender when “snagging” an onlinepersona.

[0135] Next, the updated user interface for that instant messagerecipient is rendered based on the newly selected personality (step1410).

[0136]FIG. 15 illustrates an example process 1500 for modifying theappearance, or the behavior, of an avatar associated with an instantmessage sender to communicate an out-of-band message to an instantmessage recipient. The process may be performed by an instant messagingsystem, such as communications systems 1600, 1700, and 1800 describedwith respect to FIGS. 16, 17, and 18, respectively. An out-of-bandmessage refers to sending a message that communicates contextout-of-band—that is, conveying information independent of informationconveyed directly through the text of the instant message itself sent tothe recipient. Thus, the recipient views the appearance and behavior ofthe avatar to receive information that is not directly or explicitlyconveyed in the instant message itself. By way of example, anout-of-band communication may include information about the sender'ssetting, environment, activity or mood, which is not communicated andpart of a text message exchanged by a sender and a recipient.

[0137] The process 1500 begins with the instant messaging systemmonitoring the communications environment and sender's environment foran out-of-band communications indicator (step 1510). The indicator maybe an indicator of the sender's setting, environment, activity, or moodthat is not expressly conveyed in instant messages sent by the sender.For example, the out-of-band indicator may be an indication of time anddate of the sender's location, which may be obtained from a clockapplication associated with the instant messaging system or with thesender's computer. The indicator may be an indication of the sender'sphysical location. The indicator may be an indication of an indicationof weather conditions of the sender's location, which may be obtainedfrom a weather reporting service, such as a web site that providesweather information for geographic locations.

[0138] In addition, the indicator may indicate the activities of thesender that take place at, or near, the time when an instant message issent. For example, the indicator may determine from the sender'scomputer other applications that are active at, or near, the time thatan instant message is sent. For example, the indicator may detect thatthe sender is using a media-playing application to play music, so theavatar associated with the sender may appear to be wearing headphones toreflect that the sender is listening to music. As another example, theindicator may detect that the sender is working with a calculatorapplication, so the avatar may appear to be wearing glasses to reflectthat sender is working.

[0139] The activities of the sender also may be monitored through use ofa camera focused on the sender. Visual information taken from the cameramay be used to determine the activities and mood of the sender. Forexample, the location of points on the face of the sender may bedetermined from the visual information taken from the camera. Theposition and motion of the facial points may be reflected in the avatarassociated with the sender. Therefore, if the sender were to, forexample, smile, then the avatar also smiles.

[0140] The indicator of the sender's mood also may come from anotherdevice that is operable to determine the sender's mood and send anindication of mood to the sender's computer. For example, the sender maybe wearing a device that monitors heart rate, and determines thesender's mood from the heart rate. For example, the device may concludethat the sender is agitated or excited when an elevated heart rate isdetected. The device may send the indication of the sender's mood to thesender's computer for use with the sender's avatar.

[0141] The instant messaging system makes a determination as to whetheran out-of-band communications indicator has been detected (step 1520).When an out-of-band communications indicator is detected, the instantmessaging system determines whether the avatar must be modified,customized, or animated to reflect the detected out-of-bandcommunications indicator (step 1530); meanwhile or otherwise, theinstant messaging system continues to monitor for out-of-bandcommunications indicators (step 1510). To determine whether action isrequired, the instant messaging system may use a data table, list orfile that includes out-of-band communications indicators and anassociated action to be taken for each out-of-band communicationsindicator. Action may not be required for each out-of-bandcommunications indicator detected. For example, action may only berequired for some out-of-band communications indicators when anindicator has changed from a previous indicator setting. By way ofexample, the instant messaging system may periodically monitor the clockapplication to determine whether the setting associated with the senderis daytime or nighttime. Once the instant messaging system has takenaction based on detecting an out-of-band communications indicator havinga nighttime setting, the instant messaging system need not take actionbased on the detection of a subsequent nighttime setting indicator. Theinstant messaging system only takes action based on the nighttimesetting after receiving an intervening out-of-band communicationsindicator for a daytime setting.

[0142] When action is required (step 1540), the appearance and/orbehavior of the avatar is modified in response to the out-of-bandcommunications indicator (step 1550).

[0143] In one example, when an out-of-band communications indicatorshows that the sender is sending instant messages at night, theappearance of the avatar is modified to be dressed in pajamas. When theindicator shows that the sender is sending instant messages during aholiday period, the avatar may be dressed in a manner illustrative ofthe holiday. By way of example, the avatar may be dressed as Santa Clausduring December, a pumpkin near Halloween, or Uncle Sam during earlyJuly.

[0144] In another example, when the out-of-band indicator shows that thesender is at the office, the avatar may be dressed in business attire,such as a suit and a tie. The appearance of the avatar also may reflectthe weather or general climate of the geographic location of the sender.For example, when the out-of-band communications indicator shows that itis raining at the location of the sender, the wallpaper of the avatarmay be modified to include falling raindrops or display an open umbrellaand/or the avatar may appear to wear a rain hat.

[0145] As another example, when the out-of-band communications indicatorshows that the sender is listening to music, the appearance of theavatar may be changed to show the avatar wearing headphones.Additionally or alternatively, the appearance of the avatar may bechanged based on the type of music to which the sender is listening.When the indicator indicates that the sender is working (at the sender'swork location or at another location), the avatar may appear in businessattire, such as wearing a suit and a tie. As indicated by this example,different out-of-band communications indicators may trigger the sameappearance of the avatar. In particular, both the out-of-bandcommunications indicator of the sender being located at work and theout-of-band communications indicator of the sender performing a workactivity causes the avatar to appear to be wearing a suit and tie.

[0146] In yet another example of an out-of-band communicationsindicator, the mood of the sender may be so indicated. In such a case,the appearance of the avatar may be changed to reflect the indicatedmood. For example, when the sender is sad, the avatar may be modified toreflect the sad state of the sender, such as by animating the avatar tofrown or cry. In another example, based on the detected activity of thesender, a frazzled, busy or pressed mood may be detected and the avataranimated to communicate such an emotional state.

[0147] After the avatar appearance and/or behavior has been modified toreflect the out-of-band indicator (step 1550), the updated avatar, or anindication that the avatar has been updated, is communicated to therecipient (step 1560). Generally, the updated avatar, or indication thatthe avatar has been changed, is provided in association with the nextinstant message sent by the sender; however, this is not necessarily soin every implementation. In some implementations, a change in the avatarmay be communicated to the recipient independently of the sending of acommunication. Additionally or alternatively, when a buddy list of theinstant message user interface includes a display of a sender's avatar,the change of the avatar appearance may be communicated to each buddylist that includes the sender. Thus, the recipient is made able toperceive the updated avatar, the behavior and/or appearance providing anout-of-band communication to the sender.

[0148]FIG. 16 illustrates a communications system 1600 that includes aninstant message sender system 1605 capable of communicating with aninstant message host system 1610 through a communication link 1615. Thecommunications system 1600 also includes an instant message recipientsystem 1620 capable of communicating with the instant message hostsystem 1610 through the communication link 1615. Using thecommunications system 1600, a user of the instant message sender system1605 is capable of exchanging communications with a user of the instantmessage recipient system 1620. The communications system 1600 is capableof animating avatars for use in self-expression by an instant messagesender.

[0149] In one implementation, any of the instant message sender system1605, the instant message recipient system 1620, or the instant messagehost system 1610 may include one or more general-purpose computers, oneor more special-purpose computers (e.g., devices specifically programmedto communicate with each other), or a combination of one or moregeneral-purpose computers and one or more special-purpose computers. Byway of example, the instant message sender system 1605 or the instantmessage recipient system 1620 may be a personal computer or other typeof personal computing device, such as a personal digital assistant or amobile communications device. In some implementations, the instantmessage sender system 1605 and/or the instant message recipient 1620 maybe a mobile telephone that is capable of receiving instant messages.

[0150] The instant message sender system 1605, the instant messagerecipient system 1620 and the instant message host system 1610 may bearranged to operate within or in concert with one or more other systems,such as, for example, one or more LANs (“Local Area Networks”) and/orone or more WANs (“Wide Area Networks”). The communications link 1615typically includes a delivery network (not shown) that provides director indirect communication between the instant message sender system 1605and the instant message host system 1610, irrespective of physicalseparation. Examples of a delivery network include the Internet, theWorld Wide Web, WANs, LANs, analog or digital wired and wirelesstelephone networks (e.g., Public Switched Telephone Network (PSTN),Integrated Services Digital Network (ISDN), and various implementationsof a Digital Subscriber Line (DSL)), radio, television, cable, orsatellite systems, and other delivery mechanisms for carrying data. Thecommunications link 1615 may include communication pathways (not shown)that enable communications through the one or more delivery networksdescribed above. Each of the communication pathways may include, forexample, a wired, wireless, cable or satellite communication pathway.

[0151] The instant message host system 1610 may support instant messageservices irrespective of an instant message sender's network or Internetaccess. Thus, the instant message host system 1610 may allow users tosend and receive instant messages, regardless of whether they haveaccess to any particular Internet service provider (ISP). The instantmessage host system 1610 also may support other services, including, forexample, an account management service, a directory service, and a chatservice. The instant message host system 1610 has an architecture thatenables the devices (e.g., servers) within the instant message hostsystem 1610 to communicate with each other. To transfer data, theinstant message host system 1610 employs one or more standard orproprietary instant message protocols.

[0152] To access the instant message host system 1610 to begin aninstant message session in the implementation of FIG. 16, the instantmessage sender system 1605 establishes a connection to the instantmessage host system 1610 over the communication link 1615. Once aconnection to the instant message host system 1610 has been established,the instant message sender system 1605 may directly or indirectlytransmit data to and access content from the instant message host system1610. By accessing the instant message host system 1610, an instantmessage sender can use an instant message client application located onthe instant message sender system 1605 to view whether particular usersare online, view whether users may receive instant messages, exchangeinstant messages with particular instant message recipients, participatein group chat rooms, trade files such as pictures, invitations ordocuments, find other instant message recipients with similar interests,get customized information such as news and stock quotes, and search theWeb. The instant message recipient system 1620 may be similarlymanipulated to establish contemporaneous connection with instant messagehost system 1610.

[0153] Furthermore, the instant message sender may view or perceive anavatar and/or other aspects of an online persona associated with theinstant message sender prior to engaging in communications with aninstant message recipient. For example, certain aspects of an instantmessage recipient selected personality, such as an avatar chosen by theinstant message recipient, may be perceivable through the buddy listitself prior to engaging in communications. Other aspects of a selectedpersonality chosen by an instant message recipient may be madeperceivable upon opening of a communication window by the instantmessage sender for a particular instant message recipient but prior toinitiation of communications. For example, animations of an avatarassociated with the instant message sender only may be viewable in acommunication window, such as the user interface 100 of FIG. 1.

[0154] In one implementation, the instant messages sent between instantmessage sender system 1605 and instant message recipient system 1620 arerouted through the instant message host system 1610. In anotherimplementation, the instant messages sent between instant message sendersystem 1605 and instant message recipient system 1620 are routed througha third party server (not shown), and, in some cases, are also routedthrough the instant message host system 1610. In yet anotherimplementation, the instant messages are sent directly between instantmessage sender system 1605 and instant message recipient system 1620.

[0155] The techniques, processes and concepts in this description may beimplemented using communications system 1600. One or more of theprocesses may be implemented in a client/host context, a standalone oroffline client context, or a combination thereof. For example, whilesome functions of one or more of the processes may be performed entirelyby the instant message sender system 1605, other functions may beperformed by host system 1610, or the collective operation of theinstant message sender system 1605 and the host system 1610. By way ofexample, in process 300, the avatar of an instant message sender may berespectively selected and rendered by the standalone/offline device, andother aspects of the online persona of the instant message sender may beaccessed or updated through a remote device in a non-client/hostenvironment such as, for example, a LAN server serving an end user or amainframe serving a terminal device.

[0156]FIG. 17 illustrates a communications system 1700 that includes aninstant message sender system 1605, an instant message host system 1610,a communication link 1615, and an instant message recipient 1620. System1700 illustrates another possible implementation of the communicationssystem 1600 of FIG. 16 that is used for animating avatars used forself-expression by an instant message sender.

[0157] In contrast to the depiction of the instant message host system1610 in FIG. 16, the instant message host system 1610 includes a loginserver 1770 for enabling access by instant message senders and routingcommunications between the instant message sender system 1605 and otherelements of the instant message host system 1610. The instant messagehost system 1610 also includes an instant message server 1790. To enableaccess to and facilitate interactions with the instant message hostsystem 1610, the instant message sender system 1605 and the instantmessage recipient system 1620 may include communication software, suchas for example, an online service provider client application and/or aninstant message client application.

[0158] In one implementation, the instant message sender system 1605establishes a connection to the login server 1770 in order to access theinstant message host system 1610 and begin an instant message session.The login server 1770 typically determines whether the particularinstant message sender is authorized to access the instant message hostsystem 1610 by verifying the instant message sender's identification andpassword. If the instant message sender is authorized to access theinstant message host system 1610, the login server 1770 usually employsa hashing technique on the instant message sender's screen name toidentify a particular instant message server 1790 within the instantmessage host system 1610 for use during the instant message sender'ssession. The login server 1770 provides the instant message sender(e.g., instant message sender system 1605) with the Internet protocol(“IP”) address of the instant message server 1790, gives the instantmessage sender system 1605 an encrypted key, and breaks the connection.The instant message sender system 1605 then uses the IP address toestablish a connection to the particular instant message server 1790through the communications link 1615, and obtains access to the instantmessage server 1790 using the encrypted key. Typically, the instantmessage sender system 1605 will be able to establish an open TCPconnection to the instant message server 1790. The instant messagerecipient system 1620 establishes a connection to the instant messagehost system 1610 in a similar manner.

[0159] In one implementation, the instant message host system 1610 alsoincludes a user profile server (not shown) connected to a database (notshown) for storing large amounts of user profile data. The user profileserver may be used to enter, retrieve, edit, manipulate, or otherwiseprocess user profile data. In one implementation, an instant messagesender's profile data includes, for example, the instant messagesender's screen name, buddy list, identified interests, and geographiclocation. The instant message sender's profile data may also includeself-expression items selected by the instant message sender. Theinstant message sender may enter, edit and/or delete profile data usingan installed instant message client application on the instant messagesender system 1705 to interact with the user profile server.

[0160] Because the instant message sender's data are stored in theinstant message host system 1610, the instant message sender does nothave to reenter or update such information in the event that the instantmessage sender accesses the instant message host system 1610 using a newor different instant message sender system 1605. Accordingly, when aninstant message sender accesses the instant message host system 1610,the instant message server can instruct the user profile server toretrieve the instant message sender's profile data from the database andto provide, for example, the instant message sender's self-expressionitems and buddy list to the instant message server. Alternatively, userprofile data may be saved locally on the instant message sender system1605.

[0161]FIG. 18 illustrates another example communications system 1800capable of exchanging communications between users that project avatarsfor self-expression. The communications system 1800 includes an instantmessage sender system 1605, an instant message host system 1610, acommunications link 1615 and an instant message recipient system 1620.

[0162] The host system 1610 includes instant messaging server software1832 routing communications between the instant message sender system1605 and the instant message recipient system 1620. The instantmessaging server software 1832 may make use of user profile data 1834.The user profile data 1834 includes indications of self-expression itemsselected by an instant message sender. The user profile data 1834 alsoincludes associations 1834 a of avatar models with users (e.g., instantmessage senders). The user profile data 1834 may be stored, for example,in a database or another type of data collection, such as a series ofextensible mark-up language (XML) files. In some implementations, thesome portions of the user profile data 1834 may be stored in a databasewhile other portions, such as associations 1834 a of avatar models withusers, may be stored in an XML file.

[0163] One implementation of user profile data 1834 appears in the tablebelow. In this example, the user profile data includes a screen name touniquely identify the user for whom the user profile data applies, apassword for signing-on to the instant message service, an avatarassociated with the user, and an optional online persona. As shown inTable 1, a user may have multiple online personas, each associated withthe same or a different avatar. TABLE 1 Screen Name Password AvatarOnline Persona Robert_Appleby 5846%JYNG Clam Work Robert_Appleby5846%JYNG Starfish Casual Susan_Merit 6748#474V Dolphin Bill_SmithJHG7868$0 Starfish Casual Bill_Smith JHG7868$0 Starfish FamilyGreg_Jones 85775$#59 Frog

[0164] The host system 1610 also includes an avatar model repository1835 in which definitions of avatars that may be used in the instantmessage service are stored. In this implementation, an avatar definitionincludes an avatar model file, an avatar expression file for storinginstructions to control the animation of the avatar, and wallpaper file.Thus, the avatar model repository 1835 includes avatar model files 1836,avatar expression files 1837 and avatar wallpaper files 1838.

[0165] The avatar model files 1836 define the appearance and animationsof each of the avatars included in the avatar model repository 1835.Each of the avatar model files 1836 defines the mesh, texture, lighting,sounds, and animations used to render an avatar. The mesh of a modelfile defines the form of the avatar, and the texture defines the imagethat covers the mesh. The mesh may be represented as a wire structurecomposed of a multitude of polygons that may be geometricallytransformed to enable the display of an avatar to give the illusion ofmotion. In one implementation, lighting information of an avatar modelfile is in the form of a light map that portrays the effect of a lightsource on the avatar. The avatar model file also includes multipleanimation identifiers. Each animation identifier identifies a particularanimation that may be played for the avatar. For example, each animationidentifier may identify one or more morph targets to describe displaychanges to transform the mesh of an avatar and display changes in thecamera perspective used to display the avatar.

[0166] When an instant message user projects an avatar self-expression,it may be desirable to define an avatar with multiple animations,including facial animations, to provide more types of animations usableby the user for self-expression. Additionally, it may be desirable forfacial animations to use a larger number of blend shapes, which mayresult in an avatar that, when rendered, may appears more expressive. Ablend shape defines a portion of the avatar that may be animated and, ingeneral, the more blend shapes that are defined for an animation model,the more expressive the image rendered from the animation model mayappear.

[0167] Various data management techniques may be used to implement theavatar model files. In some implementations, information to define anavatar may be stored in multiple avatar files that may be arranged in ahierarchical structure, such as a directory structure. In such a case,the association between a user and an avatar may be made through anassociation of the user with the root file in a directory of model filesfor the avatar.

[0168] In one implementation, an avatar model file may include allpossible appearances of an avatar, including different features andprops that are available for user-customization. In such a case, userpreferences for the appearance of the user's avatar include indicationsof which portions of the avatar model are to be displayed, and flags orother indications for each optional appearance feature or prop may beset to indicate whether the feature or prop is to be displayed. By wayof example, an avatar model may be configured to display sunglasses,reading glasses, short hair and long hair. When a user configures theavatar to wear sunglasses and have long hair, the sunglasses feature andlong hair features are turned on, the reading glasses and short hairfeatures are turned off, and subsequent renderings of the avatar displaythe avatar having long hair and sunglasses.

[0169] The avatar model repository 1835 also includes avatar expressionfiles 1837. Each of the avatar expression files 1837 defines triggersthat cause animations in the avatars. For example, each of the avatarexpression files 1837 may define the text triggers that cause an ofanimation when the text trigger is identified in an instant message, aspreviously described with respect to FIGS. 3 and 4. An avatar expressionfile also may store associations between out-of-band communicationindicators and animations that are played when a particular out-of-bandcommunication indicator is detected. One example of a portion of anavatar expression file is depicted in Table 2 below. TABLE 2 OUT-OF-BANDANIMATION COMMUNICATION TYPE TRIGGERS INDICATORS SMILE :) :-) Nice GONEAWAY bye brb cu gtg cul bbl gg b4n Instruction to shut ttyl ttfn downcomputer SLEEP zzz tired sleepy snooze Time is between 1 a.m. and 5 a.m.WINTER Date is between CLOTHES November 1 and March 1 RAIN Weather israin SNOW Weather is snow

[0170] In some implementations, the association between a particularanimation for a particular animation identifier is indirectly determinedfor a particular trigger or out-of-band communication indicator. Forexample, a particular trigger or out-of-band communication indicator maybe associated with a type of animation (such as a smile, gone away, orsleep), as illustrated in Table 2. A type of animation also may beassociated with a particular animation identifier included in aparticular avatar model file, as illustrated in Table 3 below. In such acase, to play an animation based on a particular trigger or out-of-bandcommunication indicator, the type of animation is identified, theanimation identifier associated with the identified type of animation isdetermined, and the animation identified by the animation identifier isplayed. Other computer animation and programming techniques also may beused. For example, each avatar may use the same animation identifier fora particular animation type rather than including the avatar name shownin the table. Alternatively or additionally, the association ofanimation types and animation identifiers may be stored separately foreach avatar. TABLE 3 ANIMATION ANIMATION TYPE IDENTIFIER AVATAR NAMESMILE 1304505 DOLPHIN SMILE 5858483 FROG GONE AWAY 4848484 DOLPHIN

[0171] The avatar expression files 1837 also include information todefine the way that an avatar responds to an animation of anotheravatar. In one implementation, an avatar expression file includes pairsof animation identifiers. One of the animation identifiers in each pairidentifies a type of animation that, when the type of animation isplayed for one avatar, triggers an animation that is identified by theother animation identifier in the pair in another avatar. In thismanner, the avatar expression file may define an animation played for aninstant message recipient's avatar in response to an animation played byan instant message sender's avatar. In some implementations, the avatarexpression files 1837 may include XML files having elements for definingthe text triggers for each of the animations of the corresponding avatarand elements for defining the animations that are played in response toanimations seen from other avatars.

[0172] The avatar model repository 1835 also includes avatar wallpaperfiles 1838 that define the wallpaper over which an avatar is drawn. Thewallpaper may be defined using the same or different type of filestructure as the avatar model files. For example, an avatar model filemay be defined as an animation model file that is generated and playableusing animation software from Viewpoint Corporation of New York, N.Y.,whereas the wallpaper files may be in the form of a Macromedia Flashfile that is generated and playable using animation software availablefrom Macromedia, Inc. of San Francisco, Calif. When wallpaper includesanimated objects that are triggered by an instant message, anout-of-band communication indicator or an animation of an avatar, theavatar wallpaper files 1838 also may include one or more triggers thatare associated with the wallpaper animation.

[0173] Each of the instant message sender system 1605 and the instantmessage recipient system 1620 includes an instant messagingcommunication application 1807 or 1827 that capable of exchanginginstant messages over the communications link 1615 with the instantmessage host system 1610. The instant messaging communicationapplication 1807 or 1827 also may be referred to as an instant messagingclient.

[0174] Each of the instant message sender system 1605 and the instantmessage recipient system 1620 also includes avatar data 1808 or 1828.The avatar data 1808 or 1828 include avatar model files 1808 a or 1828a, avatar expression files 1808 b or 1828 b, and avatar wallpaper files1808 c or 1828 c for the avatars that are capable of being rendered bythe instant message sender system 1605 or the instant message recipientsystem 1620, respectively. The avatar data 1808 or 1828 may be stored inpersistent storage, transient storage, or stored using a combination ofpersistent and transient storage. When all or some of the avatar data1808 or 1828 is stored in persistent storage, it may be useful toassociate a predetermined date on which some or all of the avatar data1808 or 1828 is to be deleted from the instant message sender system1605 or the instant message recipient system 1620, respectively. In thismanner, avatar data may be removed from the instant message sendersystem 1605 or the instant message recipient system 1620 after the datahas resided on the instant message sender system 1605 or 1620 for apredetermined period of time and presumably is no longer needed. Thismay help reduce the amount of storage space used for instant messagingon the instant message sender system 1605 or the instant messagerecipient system 1620.

[0175] In one implementation, the avatar data 1808 or 1828 is installedon the instant message sender system 1605 or the instant messagerecipient system 1620, respectively, with the instant messaging clientsoftware installed on the instant message sender system 1605 or theinstant message recipient system 1620. In another implementation, theavatar data 1808 or 1828 is transmitted to the instant message sendersystem 1605 or the instant message recipient system 1620, respectively,from the avatar model repository 1835 of the instant messaging hostsystem 1610. In yet another implementation, the avatar data 1808 or 1828is copied from a source unrelated to instant messaging and stored foruse as instant messaging avatars on the instant message sender system1605 or the instant message recipient system 1620, respectively. In yetanother implementation, the avatar data 1808 or 1828 is sent to theinstant message sender system 1605 or the instant message recipientsystem 1620, respectively, with or incident to instant messages sent tothe instant message sender system 1605 or the instant message recipientsystem 1620. The avatar data sent with an instant message corresponds tothe instant message sender that sent the message.

[0176] The avatar expression files 1808 b or 1828 b are used todetermine when an avatar is to be rendered on the instant message sendersystem 1605 or the instant message recipient 1620, respectively. Torender an avatar, one of the avatar model files 1808 a is displayed onthe two-dimensional display of the instant messaging system 1605 or 1620by an avatar model player 1809 or 1829, respectively. In oneimplementation, the avatar model player 1808 or 1829 is an animationplayer by Viewpoint Corporation. More particularly, the processor of theinstant messaging system 1605 or 1620 calls the avatar model player 1809or 1829 and identifies an animation included in one of the avatar modelfiles 1808 a or 1828 a. In general, the animation is identified by ananimation identifier in the avatar model file. The avatar model player1809 or 1829 then accesses the avatar model file and plays theidentified animation.

[0177] In many cases multiple animations may be played based on a singletrigger or out-of-band communications indicator. This may occur, forexample, when one avatar reacts to an animation of another avatar thatis animated based on a text trigger, as described previously withrespect to FIG. 6.

[0178] In the system 1800, four animations may be separately initiatedbased on a text trigger in one instant message. An instant messagesender projecting a self-expressive avatar uses instant message sendersystem 1605 to sends a text message to an instant message recipientusing instant message recipient system 1620. The instant messagerecipient also is projecting a self-expressive avatar. The display ofthe instant message sender system 1605 shows an instant message userinterface, such as user interface 100 of FIG. 1, as does the display ofinstant message recipient system 1620. Thus, the sender avatar is shownon both the instant message sender system 1605 and the instant messagerecipient system 1620, as is the recipient avatar. The instant messagesent from instant message sender system includes a text trigger thatcauses the animation of the sender avatar on the instant message sendersystem 1605 and the sender avatar on the instant message recipientsystem 1620. In response to the animation of the sender avatar, therecipient avatar is animated, as described previously with respect toFIG. 6. The reactive animation of the recipient avatar occurs in boththe recipient avatar displayed on the instant message sender system 1605and the recipient avatar displayed on the instant message recipientsystem 1620.

[0179] In some implementations, an instant messaging user is permittedto customize one or more of the animation triggers or out-of-bandcommunications indicators for avatar animations, wallpaper displayed foran avatar, triggers or out-of-band communications indicators foranimating objects of the wallpaper, and the appearance of the avatar. Inone implementation, a copy of an avatar model file, an expression fileor a wallpaper file is made and the modifications of the user are storedin the copy of the avatar model file, an expression file or a wallpaperfile. The copy that includes the modification is then associated withthe user. Alternatively or additionally, only the changes—that is, thedifferences between the avatar before the modifications and the avatarafter the modifications are made—are stored. In some implementations,different versions of the same avatar may be stored and associated witha user. This may enable a user to modify an avatar, use the modifiedavatar for a period of time, and then return to using a previous versionof the avatar that does not include the modification.

[0180] In some implementations, the avatars from which a user may choosemay be limited by the instant message service provider. This may bereferred to as a closed implementation or a locked-down implementation.In such an implementation, the animations and triggers associated witheach avatar within the closed set of avatars may be preconfigured. Insome closed implementations, the user may customize the animationsand/or triggers of a chosen avatar. For example, a user may include afavorite video clip as an animation of an avatar, and the avatar may beconfigured to play the video clip after certain text triggers appear inthe messages sent by the user. In other closed implementations, the useris also prevented from adding animations to an avatar.

[0181] In some implementations, the set of avatars from which a user maychoose is not limited by the instant message service provider, and theuser may use an avatar other than an avatar provided by the instantmessage service provider. This may be referred to as an openimplementation or an unlocked implementation. For example, an avatarusable in an instant message service may be created by a user usinganimation software provided by the instant message service provider,off-the-shelf computer animation software, or software tools provided bya third-party that are specialized for the creating avatars compatiblewith one or more instant message services.

[0182] In some implementations, a combination of a closed-implementationand an open-implementation may be used. For example, an instant messageservice provider may limit the selection by users who are minors to aset of predetermined avatars provided by the instant message serviceprovider while permitting users who are adults to use an avatar otherthan an avatar available from the instant message service provider.

[0183] In some implementations, the avatars from which a user may selectmay be limited based on a user characteristic, such as age. Asillustrated in Table 4 below and using the avatars shown in FIG. 8 onlyas an example, a user who is under the age of 10 may be limited to onegroup of avatars. A user who is between 10 and 18 may be limited to adifferent group of avatars, some of which are the same as the avatarsselectable by users under the age of 10. A user who is 18 or older mayselect from any avatar available from the instant message providerservice. TABLE 4 USER AGE AVATAR NAMES Less than age 10 Sheep, Cow,Dolphin, Happy, Starfish, Dragon, Polly Age 10 to 18 Sheep, Cow,Dolphin, Happy, Starfish, Dragon, Polly, Robot, Frog, T-Rex, Parrot,Boxing Glove, Snake, Monster, Parrot Age 18 or older Sheep, Cow,Dolphin, Happy, Starfish, Dragon, Polly, Robot, Frog, T-Rex, Parrot,Boxing Glove, Snake, Monster, Parrot, Lips, Pirate Skull

[0184] Instant messaging programs typically allow instant messagesenders to communicate in real-time with each other in a variety ofways. For example, many instant messaging programs allow instant messagesenders to send text as an instant message, to transfer files, and tocommunicate by voice. Examples of instant messaging communicationapplications include AIM (America Online Instant Messenger), AOL(America Online) Buddy List and Instant Messages which is an aspect ofmany client communication applications provided by AOL, Yahoo Messenger,MSN Messenger, and ICQ, among others. Although discussed above primarilywith respect to instant message applications, other implementations arecontemplated for providing similar functionality in platforms and onlineapplications. For example, the techniques and concepts may be applied toan animated avatar that acts as an information assistant to convey news,weather, and other information to a user of a computer system or acomputing device.

[0185] The techniques and concepts generally have been described in thecontext of an instant messaging system that uses an instant messaginghost system to facilitate the instant messaging communication betweeninstant message senders and instant message recipients. Other instantmessage implementations are contemplated, such as an instant messageservice in which instant messages are exchanged directly between aninstant message sender system and an instant message recipient system.

[0186] Other implementations are within the scope of the followingclaims.

What is claimed is:
 1. A computer-implemented method for animating afirst avatar based on perceived animation of a second avatar, the methodcomprising: graphically representing a first user with a first avatarcapable of being animated; graphically representing a second user with asecond avatar capable of being animated wherein communication messagesare being sent between the first user and the second user; receiving anindication of an animation of the first avatar; and in response to andbased on the received indication of the animation, animating the secondavatar.
 2. The method of claim 1 wherein receiving the indication of ananimation comprises receiving an indication of any type of animation ofthe first avatar.
 3. The method of claim 1 wherein receiving theindication of an animation comprises receiving an indication of aparticular animation of multiple possible animations of the firstavatar.
 4. The method of claim 1 further comprising animating the firstavatar in response to and based on the animation of the second avatar.5. The method of claim 1 wherein the first avatar is animated inresponse to a particular portion of a message sent between the firstuser and the second user.
 6. The method of claim 5 wherein the firstavatar is animated in response to a particular portion of a message sentfrom the first user to the second user.
 7. The method of claim 5 whereinthe first avatar is animated in response to a particular portion of amessage sent to the first user from the second user.
 8. The method ofclaim 1 wherein the first avatar is animated to send an out-of-bandcommunication from the first user to the second user.
 9. The method ofclaim 8 wherein the out-of-band communication comprises a communicationindicating an environmental condition associated with the first user.10. The method of claim 9 wherein the environmental condition comprisesan environmental condition related to weather occurring in a geographiclocation near the first user.
 11. The method of claim 8 wherein theout-of-band communication comprises a communication indicating apersonality characteristic associated with the first user.
 12. Themethod of claim 8 wherein the out-of-band communication comprises acommunication indicating an emotional state associated with the firstuser.
 13. The method of claim 8 wherein the out-of-band communicationcomprises a communication indicating a setting characteristic associatedwith the first user.
 14. The method of claim 13 wherein the settingcharacteristic comprises a characteristic related to time of day of thefirst user.
 15. The method of claim 12 wherein the settingcharacteristic comprises a characteristic related to time of year. 16.The method of claim 15 wherein the time of year comprises a holiday. 17.The method of claim 15 wherein the time of year comprises a seasonwherein the season is one of spring, summer, fall or winter
 18. Themethod of claim 12 wherein the setting characteristic comprises acharacteristic associated with a work setting.
 19. The method of claim12 wherein the setting characteristic comprises a characteristicassociated with a recreation setting.
 20. The method of claim 19 whereinthe recreation setting comprises a beach setting or a tropical setting.21. The method of claim 19 wherein the recreation setting comprises awinter sport setting.
 22. A system for animating a first avatar based onperceived animation of a second avatar, the system comprising aprocessor connected to a storage device and one or more input/outputdevices, wherein the processor is configured to: graphically represent afirst user with a first avatar capable of being animated; graphicallyrepresent a second user with a second avatar capable of being animatedwherein communication messages are being sent between the first user andthe second user; receive an indication of an animation of the firstavatar; and animate the second avatar in response to and based on thereceived indication of the animation.
 23. The system of claim 22 whereinthe processor is configured to receive an indication of any type ofanimation of the first avatar.
 24. The system of claim 22 wherein theprocessor is configured to receive an indication of a particularanimation of multiple possible animations of the first avatar.
 25. Thesystem of claim 22 wherein the processor is further configured toanimate the first avatar in response to and based on the animation ofthe second avatar.
 26. The system of claim 22 wherein the processor isfurther configured to animate the first avatar in response to aparticular portion of a message sent between the first user and thesecond user.
 27. The system of claim 22 wherein the processor is furtherconfigured animate the first avatar to send an out-of-band communicationfrom the first user to the second user.
 28. A computer-readable mediumor propagated signal having embodied thereon a computer programconfigured to animate a first avatar based on perceived animation of asecond avatar, the medium or signal comprising one or more code segmentsconfigured to: graphically represent a first user with a first avatarcapable of being animated; graphically represent a second user with asecond avatar capable of being animated wherein communication messagesare being sent between the first user and the second user; receive anindication of an animation of the first avatar; and animate the secondavatar in response to and based on the received indication of theanimation.
 29. The medium of claim 28 wherein the one or more codesegments configured to receive the indication of the animation of thefirst avatar comprise one or more code segments configured to receive anindication of any type of animation of the first avatar.
 30. The mediumof claim 28 wherein the one or more code segments configured to receivethe indication of the animation of the first avatar comprise one or morecode segments configured to receive an indication of a particularanimation of multiple possible animations of the first avatar.
 31. Themedium of claim 28 wherein the one or more code segments are furtherconfigured to animate the first avatar in response to and based on theanimation of the second avatar.
 32. The medium of claim 28 wherein theone or more code segments are further configured to animate the firstavatar in response to a particular portion of a message sent between thefirst user and the second user.
 33. The medium of claim 28 wherein theone or more code segments are further configured to animate the firstavatar to send an out-of-band communication from the first user to thesecond user.
 34. A system for animating a first avatar based onperceived animation of a second avatar, the system comprises: means tographically represent a first user with a first avatar capable of beinganimated and graphically represent a second user with a second avatarcapable of being animated wherein communication messages are being sentbetween the first user and the second user; means to receive anindication of an animation of the first avatar; and means to animate thesecond avatar in response to and based on the received indication of theanimation.